我正在尝试从另一个表更新表值。我想从pstatus
更新productcode
。
这是我的代码(没有错误,结果为0行):
UPDATE pstatus
SET code=(select code FROM productcode)
除此之外,我无法在sql中重新运行任何更新 - 它没有错误,但返回0行(我在productcode
表中有超过5行)。
答案 0 :(得分:0)
更新语句不返回行。你应该使用更像
的东西Update pstatus
Set code=a.code
from productcode a
where a.*somekeyfield* = *value*
您必须确定要用作产品代码的单个记录作为更新的基础。 somekeyfield 应该是你需要确定的东西。
答案 1 :(得分:0)
更新statemend不会添加记录,只会更新表中已存在的记录。
update
查询确实会对表中的所有记录进行操作,但由于没有记录,更新记录的数量为零。
如果要添加记录,则应使用insert
查询:
insert into pstatus (code)
select code from productcode
答案 2 :(得分:0)
在这种情况下,您有两个问题
你说pstatus中没有任何行,如果表中没有记录表行怎么更新?
你的内部查询select code FROM productcode
返回多行,然后sql如何决定在wich字段中设置值?