表没有AI(Auto_Increment)PK?请改用文字PK

时间:2017-12-29 10:33:52

标签: mysql database

目前正在开发用于分析实验室样品的应用程序。此样本将具有由6位数字组成的代码:相关数字+客户端代码。例如001231002231003231001123002123 ......

因此对使用此代码作为PK或使用常见的AI Integer作为PK存在疑问。另外,我想这段代码必须是文本,对吧?因为我不能将数字存储为以0开头的整数...

或者除了这个6位代码之外还要更好地保留AI PK?

感谢。

1 个答案:

答案 0 :(得分:0)

我建议只使用普通的整数自动增量主键,然后生成所需的文本输出:

SELECT
    id,
    LPAD(CAST(id AS CHAR(6)), 6, '0') AS id_padded
FROM yourTable;