我有一个包含 3 个项目的“用户”表。
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`customernumber` varchar(32) COLLATE utf8_unicode_ci NOT NULL,
`type` enum('customer','admin') COLLATE utf8_unicode_ci NOT NULL,
如何用“type”的前两个字母递增“customernumber”?
例如,ID=10 且类型='admin' 的用户的客户编号为“AD000010”。 ID = 12 且类型 = 'customer' 的用户将拥有一个 customernumber 'CU000012'?
是否可以在不使用触发器的情况下在 MySQL 中执行此操作?如果没有,我如何使用触发器执行此操作?
最佳答案
您可以将 key 存储为两列。一个 char 前缀和一个自动递增的 int,它们都被分组为主键。
CREATE TABLE myItems (
id INT NOT NULL AUTO_INCREMENT,
prefix CHAR(30) NOT NULL,
PRIMARY KEY (id, prefix),
...
请引用此链接 How to make MySQL table primary key auto increment with some prefix 希望这对你有帮助。
关于mysql - 如何创建一个带有字符串前缀的唯一自增字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20300784/