如何使用当前年份的一些前缀使MySQL表主键自动增加

时间:2016-08-08 10:06:43

标签: mysql

我有这样的表

create table student(
  `regdno` varchar(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) NOT NULL,
  `fathername` varchar(30) NOT NULL,
  `dob` varchar(30) NOT NULL,
  `course` varchar(30) NOT NULL,
  `address` varchar(100) NOT NULL,
  `contacthome` varchar(30) NOT NULL,
  `contactpersonal` varchar(30) NOT NULL,
  `coursefee` int(20) NOT NULL,
  PRIMARY KEY (regdno)
)

我想增加我的id字段 '25/yerar/200','25/yerar/201','25/yerar/202'... etc。我应该怎么做呢?请让我知道任何可能的方式。

1 个答案:

答案 0 :(得分:0)

甚至不尝试,相反这样的事情是一个更好的主意

create table student(
  `regdno` int NOT NULL AUTO_INCREMENT,
  `regdno_fluf` varchar(20) NOT NULL,   //<- new col for stuff
  `name` varchar(30) NOT NULL,
  `fathername` varchar(30) NOT NULL,
  `dob` varchar(30) NOT NULL,
  `course` varchar(30) NOT NULL,
  `address` varchar(100) NOT NULL,
  `contacthome` varchar(30) NOT NULL,
  `contactpersonal` varchar(30) NOT NULL,
  `coursefee` int(20) NOT NULL,
  PRIMARY KEY (regdno)
)

现在你让MYSQL像正常一样自动增加regdno,你可以使用regdno_fluf列存储你想要使用的任何额外的fluf。

您所做的就是当您来展示任何需要额外影响的东西时,您可以在运行的查询中或使用您的应用程序使用的语言将其连接到regdno

SELECT CONCAT(`regdno_fluf`,'/',`regdno`) as fluffed_regdno, .....

但是您可能想要创建的任何外键链接仍将使用简洁的regdno