SQLiteなのですが、以下のようなテーブルがあるとします。
tb_fruit
id, name_JP, name_EN
0, りんご, apple
1, みかん, orange
2, パイン, pineapple
「name_JPに値をINSERTしてみて、すでに値があればname_ENの値をSELECT、なければname_JPとname_ENに値をINSERT」というクエリーを1行で作りたいのですがわかりません。
name_JP, name_ENはそれぞれQNIQUE制約があります。
例えば
・「みかん」をINSERTしてみるとレコードがあるのでorangeをSELECTしたいです。
・「バナナ」をINSERTしてみるとレコードがないのでバナナとbananaをINSERTしたいです。
そもそもSELECTとINSERTは1行では書けないのでしょうか?
★INSERTを実行した結果、値が存在した場合のみSELECT結果が得られればいいかんじです。
「INSERTが失敗した場合は、レコードが存在するので、そのレコードをSELECT」
「INSERTが成功した場合は、レコードが存在しない(レコードを挿入するのでそもそも値がわかっているためにSELECTしてもしなくてもいい)ので、そのままINSERTのみの実行だけでよい(SELECTしても構わないが)」
みたいな感じだと思うのですが・・・。
どうぞよろしくお願い致します。
回答5件
あなたの回答
tips
プレビュー