mysqlでエラー1093

mysql 5.7.9を新規に立ち上げmysql 5.1.39上で動作していたシステムを移行したところ

エラー1093が発生

1093 You can't specify target table 'テーブル' for update in FROM clause UPDATE テーブル SET FD5001 = (SELECT MAX_VAL FROM (SELECT IFNULL(MAX(T1.FD5001), 0) AS MAX_VAL FROM テーブル T1) T) WHERE MESH_NO = '999999999'

updateの対象テーブルをサブクリーのfromで指定するなという至極まともなエラーだけど、やっぱり今まで動作していたSQLは動作して欲しい!

ということで調べると
my.cnfに以下を追加するとよいとのこと

optimizer_switch=derived_merge=off

記述後mysqlを再起動してもエラーは出っ放し!

show varablesで確認すると設定は正しく反映されている

結局5.7.9をあきらめ5.7.21をインストールした。

5.7.9はこれ以外にも問題が多すぎる