即使已创建父表,该错误仍会显示,
“#1054-“字段列表”中的未知列“ B722””。
我遵循了学生指南中的以下代码。请帮忙。
表格:
DROP TABLE IF EXISTS `Aircraft_Type`;
CREATE TABLE IF NOT EXISTS `Aircraft_Type`(
`AT_ID` varchar(15) NOT NULL,
`AT_Name` varchar(50) NOT NULL,
CONSTRAINT AircraftType_pk_ATID PRIMARY KEY (`AT_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
查询:
INSERT INTO `Aircraft_Type` (`AT_ID`, `AT_Name`)
VALUES (B722,Boeing 727-200),(B732,Boeing 737-300);
答案 0 :(得分:1)
对于值,您需要单引号,对于列名,您需要反斜线
INSERT INTO `Aircraft_Type` (`AT_ID`, `AT_Name`)
VALUES ('722','Boeing 727-200'),('732','Boeing 737-300');
答案 1 :(得分:0)
在MySQL中,除了表名和列名,不要使用反引号。
您需要VALUES ('722', 'Boeing 727-200'),('732','Boeing 737-300')
专业提示:如果您避免在查询中使用反引号,除非表或列名称是保留字,否则SQL代码更易于键入,易于阅读且更易于移植。例如,您的查询可能是:
INSERT INTO Aircraft_Type (AT_ID, AT_Name)
VALUES ('722','Boeing 727-200'),('732','Boeing 737-300');
但是带有保留字表和列的其他查询可能必须是:
INSERT INTO `group` (`order`, `where`)
VALUES ('722','Boeing 727-200'),('732','Boeing 737-300');
显示这些项目实际上是名称,而不是SQL语句的一部分。
专业提示:避免在列名或表名中使用保留字。