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)

) 引擎创新;

4

1 回答 1

0

状态是 Mysql 上的保留字。 显示状态 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 ....
于 2013-04-11T17:16:33.693 回答