我创建了一个主键为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;
答案 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 ....