使用主键自动增量为表插入语句

est_ut 发布于 2019-03-09 mysql 最后更新 2019-03-09 14:41 0 浏览

我创建了一个INT自动增量主键的表格。 当我试图插入数据到表中时,我无法做到这一点。 这是我遇到的错误:字段列表中的未知列“状态”。 我应该怎么做呢? 创建表的代码:

 CREATE TABLE item (
itemId INT AUTO_INCREMENT,
code VARCHAR(8),
status VARCHAR(32),
desc1 VARCHAR(128) DEFAULT NULL,
desc2 VARCHAR(128) DEFAULT NULL,
PRIMARY KEY (itemId),
FOREIGN KEY (code) REFERENCES product (code)
  ) ENGINE INNODB;
插入语句的代码:
   INSERT INTO item (code, status, desc1, desc2) VALUES ('EX00001','In Stock','a','b');
产品表的代码:
 CREATE TABLE product (
code VARCHAR(8),
productName VARCHAR(32),
productDesc VARCHAR(128),
unitPrice DECIMAL(18,4),
PRIMARY KEY (code)
)ENGINE INNODB;
已邀请:

ysequi

赞同来自:

状态是Mysql上的保留字。 Show Status Mysql 你需要使用引号。试着这样做:

CREATE TABLE item (
`itemId` INT AUTO_INCREMENT,
`code` VARCHAR(8),
`status` VARCHAR(32),
`desc1` VARCHAR(128) DEFAULT NULL,
`desc2` VARCHAR(128) DEFAULT NULL,
PRIMARY KEY (`itemId`),
FOREIGN KEY (code) REFERENCES product (`code`)
  ) ENGINE INNODB;
当使用Select时也使用单引号;
select `status`,.... from ....