我想在MYSQL中为用户的id提供一个特定的格式,但它必须是auto_increment类型。我的想法是: US01,US02,US03,US04.
我不知道该怎么做这种身份证明,我非常感谢你的帮助
发布于 2016-11-26 19:36:31
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中,都可以通过创建表的视图来完成同样的任务。
https://stackoverflow.com/questions/40822024
复制相似问题