以 phpmyadmin 中的字符开头的自动增量

Posted

技术标签:

【中文标题】以 phpmyadmin 中的字符开头的自动增量【英文标题】:Auto increment that starts with characters in phpmyadmin 【发布时间】:2015-02-09 12:04:13 【问题描述】:

我在分配 ID 时会自动递增。分配的 ID 从 1 开始,依此类推。我想在 phpMYADMIN 中有一个以字符开头的 ID。

学生示例,ST-0001;对于教师,TE-0001。

【问题讨论】:

How to make mysql table primary key auto increment with some prefix 的可能重复项 【参考方案1】:

试试这个我希望它会工作:

数据库设计的理念是将每个数据元素分开。每个元素都有自己的数据类型、约束和规则。 ST0001 不是一个字段,而是两个字段。与XXnnnn 或其他相同。这是不正确的,它将严重限制您使用数据以及使用数据库功能和设施的能力。

Break it up into two discrete data items:

column_1  VARCHAR(2)

column_2   INTEGER

Then set AUTOINCREMENT on column_2

是的,您的主键可以是 (column_1, column_2),因此您并没有失去 ST0001 对您的任何意义。

【讨论】:

但是你不能同时得到ST-1TE-1【参考方案2】:

如果你想同时获得 ST-1 和 TE-1,你必须为学生和老师使用一个序列表,每个表上只有一个 AUTOINCREMENT。

创建学生时,在student_sequence中插入一行,获取生成的值,然后将数据插入到student表中,包括Id值。 为了进一步安全,请在学生 ID 和 student_sequence ID 之间添加外键约束。 老师也一样。

变体: http://en.latindevelopers.com/ivancp/2012/custom-auto-increment-values/

【讨论】:

以上是关于以 phpmyadmin 中的字符开头的自动增量的主要内容,如果未能解决你的问题,请参考以下文章

如何在 phpMyAdmin 中使用自动增量

在 phpMyadmin 中重新设置表的自动增量的触发器

dbwritetable 删除 mysql 中的自动增量字段

从 Access VBA 自动增量创建的文件夹名称

LINQ to SQL查找以另一个表中的字符开头的值

c语言 一个字符串以空格开头 怎么去掉开头的空格