【发布时间】:2015-02-09 12:04:13
【问题描述】:
我在分配 ID 时会自动递增。分配的 ID 从 1 开始,依此类推。我想在 PHPMYADMIN 中有一个以字符开头的 ID。
学生示例,ST-0001;对于教师,TE-0001。
【问题讨论】:
标签: php database phpmyadmin wamp
我在分配 ID 时会自动递增。分配的 ID 从 1 开始,依此类推。我想在 PHPMYADMIN 中有一个以字符开头的 ID。
学生示例,ST-0001;对于教师,TE-0001。
【问题讨论】:
标签: php database phpmyadmin wamp
试试这个我希望它会工作:
数据库设计的理念是将每个数据元素分开。每个元素都有自己的数据类型、约束和规则。 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-1和TE-1
如果你想同时获得 ST-1 和 TE-1,你必须为学生和老师使用一个序列表,每个表上只有一个 AUTOINCREMENT。
创建学生时,在student_sequence中插入一行,获取生成的值,然后将数据插入到student表中,包括Id值。 为了进一步安全,请在学生 ID 和 student_sequence ID 之间添加外键约束。 老师也一样。
变体: http://en.latindevelopers.com/ivancp/2012/custom-auto-increment-values/
【讨论】: