Zbi*_*iak 64 t-sql default insert
我有这样一张桌子:
create table1 (field1 int,
field2 int default 5557,
field3 int default 1337,
field4 int default 1337)
Run Code Online (Sandbox Code Playgroud)
我想插入一个具有field2和field4默认值的行.
我已经尝试insert into table1 values (5,null,10,null)但它不起作用ISNULL(field2,default)也不起作用.
当我插入行时,如何告诉数据库使用列的默认值?
gbn*_*gbn 133
最好的做法是列出您的列,这样您就可以独立于表更改(新列或列顺序等)
insert into table1 (field1, field3) values (5,10)
Run Code Online (Sandbox Code Playgroud)
但是,如果您不想这样做,请使用DEFAULT关键字
insert into table1 values (5, DEFAULT, 10, DEFAULT)
Run Code Online (Sandbox Code Playgroud)
aro*_*oth 70
只是不要在insert语句中包含要使用默认值的列.例如:
INSERT INTO table1 (field1, field3) VALUES (5, 10);
Run Code Online (Sandbox Code Playgroud)
......将采取默认值field2和field4,并分配到5 field1和10 field3.
ino*_*non 27
最好的方法是:
insert your_table
default values
Run Code Online (Sandbox Code Playgroud)
我有一个例子,我有一个非常简单的表,我基本上只是想要一个额外的行,其中只有默认值。不确定是否有更漂亮的方法,但这是一种方法:
这会将新行中的每一列设置为其默认值:
INSERT INTO your_table VALUES ()
Run Code Online (Sandbox Code Playgroud)
注意:这对于 MySQL INSERT INTO your_table DEFAULT VALUES 不起作用的地方特别有用。
试试吧
INSERT INTO table1 (field1, field3) VALUES (5,10)
Run Code Online (Sandbox Code Playgroud)
然后field2和field4应该有默认值.