在使用 MySQL 数据库时,有时候我们需要设置一个自增字段,这时就可以使用 identity 属性。然而,有的时候设置该属性会报语法错误。下面就来看看具体原因及解决办法。
CREATE TABLE test(
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20),
PRIMARY KEY(id)
) ENGINE=InnoDB;
以上是创建一个带有自增 ID 字段的表的语句。但如果我们想设置 identity 属性,就需要在 id 字段后面添加关键字 IDENTITY(1,1) ,以表示从 1 开始,每次加 1 。但是,在 MySQL 中并没有这个关键字,在使用时会报错。
CREATE TABLE test(
id INT NOT NULL IDENTITY(1,1),
name VARCHAR(20),
PRIMARY KEY(id)
) ENGINE=InnoDB;
为了解决这个问题,我们需要将 id 字段的属性设置成自增。在 MySQL 中,我们可以用 AUTO_INCREMENT 来达到这个目的。
CREATE TABLE test(
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20),
PRIMARY KEY(id)
) ENGINE=InnoDB;
代码中加入了 AUTO_INCREMENT 后,id 字段就可以自增,达到我们想要的效果。这也是 MySQL 中设置自增 ID 字段的标准做法。