以下のようなクエリがあり、単一の更新クエリにする必要があります。私は初心者なので、結合を使用して単一行のクエリを書きましたが、次のようなエラーが発生します
ロック待機タイムアウトを超えました。トランザクションを再開してみてください
以下は、個々の更新クエリです...
update a set id=id-1 where id>'3' and reg='34554';
update b set id=id-1 where id>'3' and reg='34554';
update c set id=id-1 where id>'3' and reg='34554';
update d set id=id-1 where id>'3' and reg='34554';
update e set id=id-1 where id>'3' and reg='34554';
以下は、私が試したもので、上記のようにエラーが発生しました...
update a
LEFT JOIN b ON b.id=a.id and b.tan=a.tan
LEFT JOIN c ON c.id=b.id and c.tan=b.tan
LEFT JOIN d ON d.id=c.id and d.tan=c.tan
LEFT JOIN e ON e.id=d.id and e.tan=d.tan
SET a.id=b.id=c.id=d.id=e.id=a.id-1
where a.id>'3' and a.tan='34554';