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

时间:2013-04-11 16:41:50

标签: mysql

我创建了一个主键为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语句的代码:

   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;

1 个答案:

答案 0 :(得分:0)

状态是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 ....