SQL Insert不知道新行的所有值

时间:2017-11-03 06:33:04

标签: sql sql-insert

我有一个包含5列的表格,我想插入一个新行。问题是,我还没有所有5列的值。

是否可以向第一列和第三列添加信息并在以后添加其余列?

这不是指特定的数据库管理系统。我想知道它是否可能。

4 个答案:

答案 0 :(得分:0)

这取决于你的表定义,如果列接受null值,你不必在insert语句中为它提供值。

答案 1 :(得分:0)

这取决于表的定义。 有些表需要设计价值,有些则不需要。 还值得一提的是,可以将数据库配置为在未设置必填字段时抛出错误。在其他情况下,只有警告,并且字段由NULL值初始化,尽管被定义为“NOT NULL”。

根本不能省略某些字段。这些主要是主要关键领域。

答案 2 :(得分:0)

从技术上讲,它不是。

但是,您可以在问题列中插入虚拟值(如NULL或默认值),然后在知道正确值时更新它们。

答案 3 :(得分:0)

是的,你可以这样做(MS SQL Server):

CREATE TABLE #TM
([ID]   INT IDENTITY(1, 1),
 [Col1] INT,
 [Col2] VARCHAR(MAX),
 [Col3] VARCHAR(MAX),
 [Col4] VARCHAR(MAX),
 [Col5] VARCHAR(MAX)
);
INSERT INTO #TM
([Col1],
 [Col3]
)
       SELECT '1',
              '2';

稍后,您可以借助ID列(即唯一标识列)自动增加来更新其余列中的数据。

但是,它会在列列表中未定义的其他列中插入NULL值。