MS SQL Server INSERT值如果为NULL

时间:2017-08-03 11:12:40

标签: sql database sql-server-2008

美好的一天

我有Table1:

COLUMN1    COLUMN2   Column3
----------------------------
1             A        K
2             NULL     K
3             NULL     D
...           ...      ...

我需要

COLUMN1    COLUMN2   Column3
----------------------------
1             A        A
2             K        K
3             D        D
...           ...      ...

我遇到了我的代码,我无法理解为什么服务器会尝试插入到COLUMN3中?

感谢您的任何意见

INSERT INTO Table1 (COLUMN2)
    SELECT CLoumn3
    FROM Table1
    WHERE Column2 IS NULL; 

结果错误:

  

Msg 515,Level 16,State 2,Line 1
  无法将值NULL插入列'Column3',表'TABLE1';列不允许空值。 INSERT失败。

这只是原始表中有更多列的示例。

1 个答案:

答案 0 :(得分:5)

我想你想要一个update

update table1
    set column2 = column3
    where column2 is null;

insert新行插入表格中。 update更改现有行中的值。