サブクエリの結果に演算した結果を、インサートしたい
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
【/追記ここまで】
怒られました。。。。
どないしたらええねん!!
知ってる人いたら教えてほしいです。。。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/12 03:00