0
UPDATE wlog
SET g_log = (SELECT glog_id
FROM glog_wlog
WHERE w_id=wlog.id limit 5)
WHERE g_log is NULL;
我的旧DB由映射表"glog_wlog"
组成。现在我需要改变它所指的方式。上面的代码工作正常。但是极限5确实没有任何作用。我在表格中有超过一百万条记录。我不想一次性将它们全部转换。那么如何将它分解成任何给定的数字?如何为PostgreSQL做批量更新
似乎子查询返回1行,因为在其他情况下,您将得到一个错误。 – revoua 2013-03-05 10:02:20
使用'UPDATE ... FROM';请参阅手册中的“UPDATE”。没有LIMIT子句,但可以使用'WHERE'子句按ID的范围进行过滤。 – 2013-03-05 10:07:29