我只是在编写一个复杂的更新查询,该查询大致如下所示: (select y, min(x) as MinX groupby y) as t1set x = x - MinX
这意味着变量x是基于子查询更新的,该查询还处理变量x --但是不能通过运行的update命令修改吗?我正在使用MySQL,但答案也适用于其他PostgresQL、Oracle等,特别是用于标准的。谢谢!
我有一个包含2100万条记录的MySQL数据库,我试图对大约100万条记录进行更新,但是ERROR 1206 (HY000): The total number of locks exceeds thelock table size.的查询失败了编辑
--我已经批量尝试了5000次,工作了几次,但是我得到了相同的错误-
我有许多执行不同任务的控制台应用程序。我从php脚本获得了唯一的任务:$result = $mysqli->query("SELECT id, task FROM queue WHERE locked = 0 LIMIT 1 FOR UPDATE;");
$mysqli->query('UPDATE queue SET locked = 1 WHERE id="'.$row['i