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