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

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

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

【问题讨论】:

标签: php database phpmyadmin wamp


【解决方案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/

【讨论】:

    猜你喜欢
    • 2011-08-05
    • 1970-01-01
    • 2016-08-10
    • 1970-01-01
    • 2017-10-24
    • 2019-02-07
    • 2011-03-02
    • 2015-01-20
    • 1970-01-01
    相关资源
    最近更新 更多