MySQLでもサブクエリーが使えることを思い出して、とあるプロジェクトで使ってみることにした。さくっと、以下のようなSQLを書くと・・・ INSERT INTO exam ( type, code ) VALUES ( 'A', ( SELECT IFNULL( MAX( code ) + 1, 1000 ) FROM exam WHERE type='A' ) ); #1093 - You can't specify target table 'exam' for update in FROM clause と怒られてしまった。 正直な話、SQLは得意というわけではないので、 最初はやっぱり無理?と思ってしまった。 が、気を取り直して「mysql 1093」でググってみると、答えのページを発見。MySQLだからではなく、SQL標準から見ても間違った構文なんだそうだ。 簡単に問題の説明をす