[英]cursor in mysql returns error Error Code: 1136. Column count doesn't match value count at row 1
[英]Error Code: 1136. Column count doesn't match value count at row 1 why?
USE Airline;
CREATE TABLE Responsible_for(
Time_work TIME NOT NULL,
date_work DATE NOT NULL,
Staff_ID INT NOT NULL,
Passenger_ID VARCHAR(45) NOT NULL,
CONSTRAINT FOREIGN KEY(Passenger_ID) REFERENCES Passenger(Passenger_ID),
CONSTRAINT FOREIGN KEY(Staff_ID) REFERENCES Staff(Staff_ID));
SELECT * FROM airline.Responsible_for;
INSERT INTO Responsible_for VALUES(
('04:00:00','2019-04-01',1235,'1102546778'));
为什么有错误? 谢谢你
您在不应存在的值列表周围有一对额外的括号。
那应该是:
INSERT INTO Responsible_for(time_work, date_work, staff_id, passenger_id)
VALUES ('04:00:00','2019-04-01',1235,'1102546778');
笔记:
总是枚举要insert
的列是一个好习惯; 这可以防止难以调试的问题,并且可以使代码对目标表结构的变化具有弹性
您在脚本的开头use airline
,因此无需在insert
语句中为表名加上模式名称前缀
我建议不要将日期和时间组件存储在单独的列中; 当您需要将它与日期时间进行比较时,这会使事情变得不必要地复杂(并且效率降低); MySQL 具有datetime
数据类型,这意味着将两者存储在一起
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.