CREATE TABLE employee (
emp_id INT PRIMARY KEY,
first_name VARCHAR(40),
last_name VARCHAR(25),
birth_date DATE,
sex VARCHAR(2),
salary INT,
super_id INT,
branch_id INT
);
INSERT INTO employee VALUES(100, 'David', 'Wallace', '1967-17-11', 'M', 250000, NULL, NULL);
我的問題是:
錯誤
“列數與第 1 行的值數不匹配”
為什么我收到這個錯誤?漏掉了一些東西。
uj5u.com熱心網友回復:
你的
語法中有幾個錯誤:兩個欄位必須可以為空,日期必須是 yyyy-MM-dd
CREATE TABLE employee (
emp_id INT PRIMARY KEY,
first_name VARCHAR(40),
last_name VARCHAR(25),
birth_date DATE,
sex VARCHAR(2),
salary INT,
super_id INT NULL,
branch_id INT NULL
);
INSERT INTO employee VALUES(100, 'David', 'Wallace', '1967-11-17', 'M', 250000, NULL, NULL);
看到它在行動:http : //sqlfiddle.com/#!9/2de42f
uj5u.com熱心網友回復:
Super_id 和 branch_id 看起來不可為空。提供一個值或使其可以為空。
還,
使用插入陳述句,顯式寫出列是很好的。
Insert into <tablename> (<columnname>, ...) Values (<some value>,...)
uj5u.com熱心網友回復:
你的日期錯了。
在 MySQL 中,日期 formaz 的 tp 是 yyyy-mm-dd 所以 1967-17-11 是不可能的
CREATE TABLE employee ( emp_id INT PRIMARY KEY, first_name VARCHAR(40), last_name VARCHAR(25), birth_date DATE, sex VARCHAR(2), salary INT, super_id INT, branch_id INT );
INSERT INTO employee VALUES(100, 'David', 'Wallace', '1967-11-17', 'M', 250000, NULL, NULL);
db<>在這里擺弄
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/351092.html
