+------------------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+------------------+------+-----+---------+-------+
| ID | varchar(32) | NO | PRI | NULL | |
| CODE | varchar(6) | NO | UNI | NULL | |
代码列是唯一的,我的ID列是GUID。我有许多行需要更新,但要满足上表中的某些条件(例如 WHERE COLUMN1 = 0)。如何为我的CODE列生成随机且唯一的6位字符代码(最好是字母和数字),使它们不违反表中的唯一约束?请注意,表中不符合条件的列(例如 Where COLUMN1 <> 0)已经具有CODE列的唯一值。
编辑:这与此问题不同--使用MySQL生成随机且唯一的8个字符字符串,因为该链接处理的ID是数字。我的ID是32个字符的字符串。此外,他们的解决方案没有考虑到在运行我想运行的语句之前可能存在表中的值,这些值将为所讨论的列生成唯一值。