如何在MySQL中的varchar变量中自动增加

时间:2019-01-03 05:03:44

标签: mysql sql

 MYSQL SYNTAX 


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

在我的学生表中,我希望将varchar数据用作主键,并自动将其值递增。 请不要发表评论,例如使用基于服务器的语言,例如PHP,JAVA或任何其他语言。

我想要纯MySQL语法。

3 个答案:

答案 0 :(得分:0)

您可以将主键设为复合键吗?然后,您可以让第一列带有前缀(在这种情况下为's'),并为第二列提供一个自动递增的值。它们在一起将成为您的主键。

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

Here's a link to a very similar question.

—特拉维斯·W。

答案 1 :(得分:0)

数据库设计中的想法是使每个数据元素分开。每个元素都有自己的数据类型,约束和规则。 c0002不是一个字段,而是两个。与XXXnnn相同。这是不正确的,它将严重限制您使用数据以及使用数据库功能的能力。

将其分解为两个离散的数据项: column_1 CHAR(1)

column_2 INTEGER

然后在column_2上设置AUTOINCREMENT

是的,您的主键可以是(column_1,column_2),因此您不会丢失c0002对您而言的任何含义。

检查这个非常相似的问题并接受答案

How to autoincrement a varchar

答案 2 :(得分:-1)

您必须首先将主键设置为student_id,然后才能通过更新表详细信息来设置AUTO_INCREMENT关键字,然后进行更新