自动生成的SQL脚本,无法配置ID参数

时间:2018-09-19 07:34:53

标签: mysql

我的MySQL程序出现错误,即使我的朋友在自动生成错误后仍未收到错误

    create database person;
CREATE TABLE person.`persons` (
  ID INT NOT NULL AUTO_INCREMENT,
  FNAME VARCHAR(45) NOT NULL,
  LNAME VARCHAR(45) NOT NULL,
  PHONE INT NOT NULL,
  PRIMARY KEY (ID),
  UNIQUE INDEX ID_UNIQUE (ID ASC));

我得到一个错误,即使我已经指定了FIELD ID,它也没有默认值,怎么回事? 每当我尝试粘贴一些值时,我都将其写为AUTO_INCREMENT和NOT_NULL

当我尝试将一些值插入表中时,就会发生错误:

INSERT INTO `Person`.`PERSON` (`FNAME`, `LNAME`, `PHONE`) VALUES ('Kristoffer', 'Tølbøll', '6969');
INSERT INTO `Person`.`PERSON` (`FNAME`, `LNAME`, `PHONE`) VALUES ('Nioklai', 'Stein Bagger', '1234');
INSERT INTO `Person`.`PERSON` (`FNAME`, `LNAME`, `PHONE`) VALUES ('Sebastian', 'Ananasfar', '5475');

1 个答案:

答案 0 :(得分:1)

那是一个错字。你写了

CREATE TABLE person.`persons` /* notice the s at the table name */

然后,在查询中

INSERT INTO `Person`.`PERSON` /* notice the missing s */

如果您不想指定字段,则可以用这种方式编写插入查询(顺便说一句,您可以删除int类型字段的数值周围的引号,以避免从MySQL进行不必要的隐式转换):

INSERT INTO `person`.`persons` VALUES (default, 'Kristoffer', 'Tølbøll', 6969);