SQL-插入表中的一列

时间:2018-10-18 19:46:33

标签: sql sql-server database insert

所以我刚刚在表中添加了一个新列,现在我想将该列填充到预先存在的行中。这是我当前的查询,但始终会出错,因为它试图插入表的第一列。

insert into Product_Database(UPC)
select u.UPC
from upc_temp u
    join upc_temp_gers g on u.PartNumber = g.PartNumber
    join Product_Database p on p.ITM_CD = g.ItemCode
where u.UPC is not null

这是它返回的错误

Cannot insert the value NULL into column 'ITM_CD'

很显然,我不想插入“ ITM_CD”列。只是“ UPC”。

任何帮助将不胜感激。谢谢!

3 个答案:

答案 0 :(得分:3)

  

现在我要在现有行中填充该列。

在向表中添加新列之后,不会使用INSERT填充现有行的新列。

您可以执行UPDATE。

答案 1 :(得分:0)

大概您想要的逻辑是:

update p 
    set UPC = u.UPC
    from upc_temp u join
         upc_temp_gers g
         on u.PartNumber = g.PartNumber join
         Product_Database p
         on p.ITM_CD = g.ItemCode
    where u.UPC is not null;

答案 2 :(得分:0)

您必须为此使用UPDATE查询。