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はこれ以外にも問題が多すぎる