仅使用默认值或空值插入行

时间:2014-08-06 13:51:16

标签: sql sql-server sql-server-2008

我有一个表格,其中包含不同名称的不同列数。

所有列都是以下之一:

  • 标识列,
  • NULL列,
  • 或具有默认值

现在我想在此表中插入一个新行并阅读其内容。

我尝试了以下所有方法:

INSERT INTO globalsettings() VALUES()
INSERT INTO globalsettings VALUES()
INSERT INTO globalsettings VALUES
INSERT INTO globalsettings

我是否错过了正确的语法,或者我无法插入全默认行?

3 个答案:

答案 0 :(得分:11)

INSERT INTO globalsettings DEFAULT VALUES;

您可以在此处找到说明:http://msdn.microsoft.com/en-us/library/ms174335.aspx

答案 1 :(得分:1)

你可以这样做:

INSERT INTO globalsettings (Column1) VALUES (DEFAULT)

它将使用Column1和所有其他列的默认值。

答案 2 :(得分:1)

如果您决定不在语句中使用列名,则表中的列数必须等于值的数量。例如,如果你有4列,其中first是第一个,第二个和第三个是可空的,第四个是默认的int 0。

你可以做到

INSERT INTO globalSettings DEFAULT VALUES

OR

您可以指定所有值:

INSERT INTO globalSettings Values (NULL, NULL, 0)

OR

您可以指定列,并将其余列设置为默认值null或0。

INSERT INTO globalSettings(secondColumn) VALUES (Default)

OR

  INSERT INTO globalSettings(secondColumn) VALUES (null)

这将插入一行1,null,null,0

如果没有指定要插入的内容,则无法插入表格。