我創建了一個表,默認的列值male
插入到表
CREATE TABLE Persons
(name varchar(20),
age int,
sex varchar(5) default 'male')
Insert語句#1默認列值:
INSERT INTO Persons values('Bob', 20)
Insert語句#2:
INSERT INTO Persons(name,sex) values('Bob', 20)
當我嘗試插入值到Persons
表使用插入語句#1 ,我得到下面
列名或提供值的數目顯示不匹配表定義
錯誤但是當我插入Persons
using語句#2,它成功地執行。
有些人可以解釋爲什麼會發生這種情況嗎?
真 - 這工作 - 但我仍然認爲這是最好明確地闡明你插入的列的列表。當有人在表格中添加第四列時,這將會中斷... – 2013-04-09 11:08:11
@corretge感謝提示:) – 2013-04-09 11:08:25
是@marc_s,總是希望控制我們插入的數據。只有在您有興趣不解釋所有字段時,我纔在答案中添加DEFAULT子句。 – corretge 2013-04-09 12:15:43