我想在MYSQL中为用户的ID提供特定格式,但它必须是auto_increment类型。我的想法是这样做:US01,US02,US03,US04 ......
我不知道如何使用此类ID,我非常感谢您的帮助
答案 0 :(得分:1)
MySQL中的自动增量数字可以是INT
类型,也可以是BIGINT
类型。您无法将另一种数据类型分配给自动增强器。 (所以,你不知道该怎么做也就不足为奇了,是吗?)
如果您在MariaDB或MySQL 5.7.5+中工作,可以创建一个虚拟(计算)列,将整数自动增量器转换为您想要的格式。如果您的自动增量列为user_id
,则会为您提供一个具有所需ID值的虚拟列。
ALTER TABLE mytable
ADD COLUMN useridtext varchar(10)
GENERATED ALWAYS AS
(CONCAT('US', LPAD(user_id,8,'0')))
PERSISTENT
在MariaDB中创建一个名为useridtext
的新虚拟列。它包含US00000001
,US00000002
等值。
通过创建表格视图,可以在任何版本的MySQL中完成相同的操作。