簡體   English   中英

錯誤代碼:1136。列計數與第 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM