相当于MySQL中的MSSQL IDENTITY列

时间:2012-04-23 15:43:12

标签: mysql sql-server tsql identity

MySQL中MSSQL IDENTITY列的等价物是什么?我如何在MySQL中创建这个表?

CREATE TABLE Lookups.Gender
(
    GenderID   INT         IDENTITY(1,1) NOT NULL,
    GenderName VARCHAR(32) NOT NULL
);

2 个答案:

答案 0 :(得分:44)

CREATE TABLE Lookups.Gender
(
    GenderID   INT         NOT NULL AUTO_INCREMENT,
    GenderName VARCHAR(32) NOT NULL
);

答案 1 :(得分:6)

CREATE TABLE `Persons` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `LastName` varchar(255) NOT NULL,
  `FirstName` varchar(255) DEFAULT NULL,
  `Address` varchar(255) DEFAULT NULL,
  `City` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=latin1;

以上示例使用AUTO_INCREMENT语法。您可以指定特定于表的起始偏移量。

然而,增量必须全局设置。

<强> SET @@auto_increment_increment=10;

您还可以设置偏移的全局默认值,如下所示:

<强> SET @@auto_increment_offset=5;

要查看当前值,请键入 SHOW VARIABLES LIKE 'auto_inc%';