質問: MYSQL使ってます。 まず、サブクエリを下記のように書きました。 `SELECT max(foo_id)+1 AS MAX_ID FROM bar_table` このクエリは問題なさそう なので、インサート文作ってみる `INSERT INTO bar_table(ID) VALUES ((SELECT max(foo_id)+1 AS MAX_ID FROM bar_table))` 怒られました。。 調べると、あるテーブルに対してデータを追加・更新する場合、同じテーブルをサブクエリーに使えないらしい(参照)。 なので、回避策は下記とのこと。 `INSERT INTO bar_table(ID) VALUES (SELECT MAX_ID+1 FROM (SELECT MAX(foo_id) AS MAX_ID FROM bar_table))` 【追記--11:44】 コメントでエラー内容がほしいとのことだったので念のため追記します。 上記の最後のクエリを実行して表示されるエラーは下記になります。 `SQL エラー (1248): Every derived table must have its own alias` 【/追記ここまで】 怒られました。。。。 どないしたらええねん!! 知ってる人いたら教えてほしいです。。。
回答: 単に次のIDを裁番したいならAUTO_INCREMENTを使います。 http://www.dbonline.jp/mysql/table/index7.html