自动在自动增量字段前添加字母

问题描述 投票:3回答:3

是否可以在MySQL中的自动增量前附加一个字母。我的数据库中有几个表,其中一些表具有通过自动增量创建的唯一ID。我希望能够通过前面的字母来区分自动生成的数字。

这不是绝对必需的功能,但它只是帮助简化小任务。

mysql sql auto-increment
3个回答
3
投票

不幸的是你做不到。至少不在sql中。自动增量字段是整数类型,因此在那里添加字母会违反约束。

您可以查看下面的链接,了解此问题的某种解决方案。

MySQL auto increment plus alphanumerics in one column

我希望这可以指导你找到正确的方向。


3
投票

您可以为ID值前面需要特殊字母的表创建视图,并通过视图读取表格:

CREATE VIEW VTableA
AS
SELECT
  CONCAT('A', ID) AS ID,
  other columns
FROM TableA

其他表也一样。


0
投票

最佳答案可能取决于您使用字母数字ID的含义。 alpha部分是否以某种方式递增,如果是,那么规则是什么?如果alpha部分是静态的,那么你甚至不需要它在DB中:只需在输出它时将它添加到数字ID(可能使用[s] printf()或类似的函数来预置零,这样它就是一个固定的长度?)。但是,如果不知道全部要求,我们都只是猜测

© www.soinside.com 2019 - 2024. All rights reserved.