数据库自动增量列

luc*_*ius 2 sql

是否可以创建一个具有1列(但不是主键列)的数据库自动递增?因此,当我向数据库插入值时,我不需要自己填写值,DB将为我填写该列的值(并且每次执行新插入时都会递增)?

谢谢.

nig*_*der 5

是的,当然有可能.只需将此列设为唯一键(不是主键),并且必须使用特殊属性声明:SQL Server为"IDENTITY",MySQL为"AUTO_INCREMENT"(请参阅​​下面的示例).另一列可以是主键.

在MySQL数据库上,表可以像这样声明:

CREATE TABLE `mytable` (
  `Name` VARCHAR(50) NOT NULL,
  `My_autoincrement_column` INTEGER(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`Name`),
  UNIQUE KEY `My_autoincrement_column` (`My_autoincrement_column`)
);
Run Code Online (Sandbox Code Playgroud)