我正在使用包含各种JOINS的UPDATE查询来更新大量行(〜168k)。
(我更改了字段名和表名,但查询的逻辑保持不变)
UPDATE
table_a
JOIN table_b on table_a.field1 = table_b=field1
JOIN table_c on table_b.field2 = table_c.field2
JOIN table_d on table_c.field3 = table_d.field3
JOIN table_e on table_d.field4 = table_e.field4
SET
table_a.date_field = DATE_ADD(table_a.date_field, INTERVAL 12 MONTH)
WHERE
table_a.checkfield IS NOT NULL
AND table_a.date_field >= "2017-07-05"
AND table_e.statefield != "DEU"
AND
(
table_c.statusfield1 IN (2,3,9) OR (table_c.statusfield1 = 1 AND table_c.statusfield2 = 1 AND table_c.statusfield3 IS NULL)
)
我100%确信此更新查询影响了大约167k行并已在数据库中检查它,但是HeidiSQL 9.5.0.5196中的mysql查询日志说:
“ / *受影响的行:0找到的行:0警告:0 1个查询的持续时间:52,984秒。* /”
我已经运行了仅限于4或5个项目的查询,并且受影响的行数是正确的,但是如果我运行整个更新查询,则行数始终为零。
这是HeidiSQL还是Percona / MySQL版本中的已知错误?
系统: 服务器版本:5.6.40-84.0-Percona服务器(GPL),版本84.0,修订版47234b3,服务器操作系统:debian-linux-gnu,HeidiSQL版本:9.5.0.5196