Mysql 错误代码:1136。列计数不为';第1行的值计数不匹配为什么?
为什么会有错误?Mysql 错误代码:1136。列计数不为';第1行的值计数不匹配为什么?,mysql,sql,sql-insert,Mysql,Sql,Sql Insert,为什么会有错误? 谢谢在不应该出现的值列表周围还有一对括号 这应该是: 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(Pas
谢谢在不应该出现的值列表周围还有一对括号 这应该是:
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'));
注:
- 一个好的做法是总是枚举要插入的列;这可以防止难以调试的问题,并且可以使代码适应目标表结构中的更改
- 您可以在脚本的开头使用airline,因此在
语句中不需要在表名前面加上模式名insert
- 我建议不要将日期和时间组件存储在单独的列中;当您需要将其与日期时间进行比较时,这会使事情变得不必要的复杂(并且效率降低);MySQL具有
数据类型,这意味着将两者存储在一起datetime
INSERT INTO Responsible_for(time_work, date_work, staff_id, passenger_id)
VALUES ('04:00:00','2019-04-01',1235,'1102546778');