mysqlでエラー
You can't specify target table 'x' for update in FROM clause
こんなエラーが出て困りました。
意味はテーブル'x'をFROM句に入れてアップデートのために明示することは出来ません。
つまりfrom句にテーブル'x'を記載しないで下さいという感じでしょうか。
clauseが句なんですね。
TABLE1にはNOというカラムが存在し、
その最大値のレコードを削除しようとしました。
DELETE FROM TABLE1 WHERE NO = ( SELECT MAX(NO) WHERE TABLE1 );
mysqlだと削除するテーブルとサブクエリのテーブルが同じだと
怒られてしまうようです。
DELETE FROM TABLE1 ORDER BY NO DESC LIMIT 1;
とか回避策を使うしか無いようです。
頻繁に使う条件ならfunction化するのも良いのかな。