私はSQLを学習しており、データベースに値を挿入する必要がある状況にあります。一意の場合にのみ挿入します(2行を確認してください)
私のテーブルビューの構造は、このようなものです:私はそこfirst_id 1
とsecond_id 2
があると私は再びそれを追加していテーブル内の場合、同じfirst_id
とsecond_id
などが存在しない場合にのみ挿入したい
+----------+-----------+-----+-----+
| first_id | second_id | timestamp |
+----------+-----------+-----------+
、私はしないでくださいもうそれを追加したい。したがって、first_id行とsecond_id行に既に値1と2がある場合は、追加しないでください。first_id
が3で、second_id
が1の場合、挿入が許可されます。
これは私のクエリATMです:
INSERT INTO `testtable`.`ids` (`first_id`, `second_id`) VALUES (:first_id, :second_id)
そして、このように私はNOT EXISTS
と試みたが、それが動作していない:
NOT EXISTS (SELECT first_id, second_id FROM `testtable`.`ids` WHERE first_id = : first_id AND second_id = : second_id) INSERT INTO `testtable`.`ids` (`first_id `, `second_id `) VALUES (: first_id, : second_id)
最後に述べたクエリは私に構文エラーが発生しますが、私も持ったら完全性の違反とそれは私に文書を確認するように言った。
私はPHP ->query("");
機能を使用して、私のクエリを実行しています。
私はIF NOT EXISTS
とNOT EXISTS
のように実行しようとしましたが、それらは動作しませんでした。私はこれにどのようにアプローチすべきですか?
'first_id'が1、' second_id'が1または3ならば挿入できますか?それは挿入しないために2でなければならないのですか? – Sajal
はい、もしそれらの値が 'first_id'のようなものが2で' second_id'が4ならば私は許します。 –