我在以下OPENQUERY语句中遇到错误,该语句是我试图对来自SQL Server的MySql数据库执行的。
UPDATE OPENQUERY(MYWPDB, 'SELECT total FROM wp_tt WHERE id = 112121') SET total = 1错误为“键列信息不足或不正确。更新影响了太多行”。
该语句应将“total”字段更新为值“1”。它是一个整型字段,'id‘是表中的主键。我使用的是SQL Server 2000。
发布于 2011-12-14 12:41:19
事实证明,查询没有任何问题。我试图在存储过程的游标操作中执行语句。我在游标操作之外对它进行了测试,它处理得很好。
然而,由于我仍然需要它在游标中工作,我不得不继续挖掘,最终发现由四部分组成的语法可以做到这一点。因此,查询变成了:
UPDATE MYWPDB...wp_tt SET total = 1 WHERE id = 112121发布于 2013-09-13 20:23:22
我用一个更新iSeries的openquery也遇到了同样的问题。我的openquery也在游标中。修复方法是在select中包含键列。
所以在你的例子中应该是这样的:
UPDATE OPENQUERY(MYWPDB, 'SELECT key1, key2, total FROM wp_tt WHERE id = 112121') SET total = 1https://stackoverflow.com/questions/8495834
复制相似问题