mySQL AUTO_INCREMENT列创建

时间:2016-06-11 09:05:39

标签: mysql sql database

我从昨天开始使用带有AUTO_INCREMENT选项的主ID键来创建简单的数据库但是一直收到此错误:

Executing:
CREATE TABLE `spring`.`samochod` (
`idsamochod` INT NOT NULL DEFAULT AUTO_INCREMENT,
PRIMARY KEY (`idsamochod`));

Operation failed: There was an error while applying the SQL script to the database.
ERROR 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AUTO_INCREMENT,
PRIMARY KEY (`idsamochod`))' at line 2
SQL Statement:
CREATE TABLE `spring`.`samochod` (
  `idsamochod` INT NOT NULL DEFAULT AUTO_INCREMENT,
  PRIMARY KEY (`idsamochod`))

ERROR 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AUTO_INCREMENT,
PRIMARY KEY (`idsamochod`))' at line 2

SQL语句:

CREATE TABLE `spring`.`samochod` (
  `idsamochod` INT NOT NULL DEFAULT AUTO_INCREMENT,
  PRIMARY KEY (`idsamochod`))

即使是普通的整数列,我也会收到此错误。我以前读了很多文章,据我所知它应该这样工作没有任何问题。

有谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:3)

问题不在于AUTO_INCREMENT,而在于它之前的DEFAULT。没有为DEFAULT指定值。只需删除此处不需要的DEFAULT关键字。

另请参阅MySQL文档中的CREATE TABLE syntax,具体来说:

column_definition:
    data_type [NOT NULL | NULL] [DEFAULT default_value]
      [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
      [COMMENT 'string']
      [COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}]
      [STORAGE {DISK|MEMORY|DEFAULT}]
      [reference_definition]