sql—mysql中varchar变量的自动递增

bvjveswy  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(580)
MYSQL SYNTAX 

table STUDENT
      student_id : S001,S002,S003..... SO ON

在student表中,我希望varchar数据作为主键,并自动递增该值。请不要评论像使用服务器的基础语言,如php,java或任何其他语言。
我想要纯mysql语法。

qnzebej0

qnzebej01#

数据库设计的思想是使每个数据元素保持独立。每个元素都有自己的数据类型、约束和规则。c0002不是一个字段,而是两个字段。和nnn一样。这是不正确的,它将严重限制您使用数据、使用数据库功能和设施的能力。
把它分成两个离散的数据项:列1 char(1)
列2整数
然后在列2上设置自动递增
是的,您的主键可以是(第1列,第2列),所以您没有失去c0002对您的任何意义。
检查这个非常相似的问题和答案也被接受
如何自动递增varchar

dz6r00yl

dz6r00yl2#

你能把主键改成复合键吗?然后第一列可以有一个前缀(在本例中是“s”),第二列可以有一个自动递增的值。它们一起将是你的主键。

CREATE TABLE Student (
id INT NOT NULL AUTO_INCREMENT,
prefix CHAR(1) NOT NULL,
PRIMARY KEY (id, prefix),
...

下面是一个非常类似的问题的链接。
-特拉维斯w。

相关问题