Mysql 将现有值插入新列

Mysql 将现有值插入新列,mysql,sql,sql-server,oracle,tsql,Mysql,Sql,Sql Server,Oracle,Tsql,我已经在现有表上创建了一个新列(column4),该表中填充了所有空值。我试图用链接服务器列中的现有值填充所有记录。插入的值必须与正确的行匹配 这是因为我似乎来了,但我现在收到下面的错误。我甚至不想更新那个专栏。我只是引用它,以便新值知道插入值的位置 INSERT INTO Server1.database.schema.table1 (Column4) SELECT link.column6 FROM LinkedServer.database.schema.view as link INNE

我已经在现有表上创建了一个新列(column4),该表中填充了所有空值。我试图用链接服务器列中的现有值填充所有记录。插入的值必须与正确的行匹配

这是因为我似乎来了,但我现在收到下面的错误。我甚至不想更新那个专栏。我只是引用它,以便新值知道插入值的位置

INSERT INTO Server1.database.schema.table1 (Column4)
SELECT link.column6
FROM LinkedServer.database.schema.view as link
INNER JOIN Server1.database.schema.table1 as local
ON link.key = local.key
WHERE local.key = link.key
Msg 515,16级,状态2,第212行
无法将空值插入“key”列、表“local”中;列不允许空值。插入失败。 声明已终止


对于sql server,您需要使用
更新
而不是
插入

update local
set local.Column4 = link.column6
from LinkedServer.database.schema.view link
  inner join Server1.database.schema.table1 local
    on link.key = local.key

您已经用几种不同的数据库产品对此进行了标记。不要这样做。选择您正在使用的产品,否则您只是在浪费人们的时间,因为不同风格的RDBMS经常使用不同的语法。。从错误消息中,您没有使用Oracle,那么为什么要将其包括在您的问题范围内?@Rahul错误消息来自sql server,所以我同意了。是的。。LOL,OP已经标记了所有可用的RDBMS。因此,评论是针对这一点的。我相信你应该提到这一点来回答我的问题clarification@Rahul更新后提到答案是针对sql server的。@Dallas2447很乐意帮忙!