SQLテーブルがあります:
CREATE TABLE IF NOT EXISTS `MyTable` (
`id` smallint(6) NOT NULL AUTO_INCREMENT,
`MyVar` varchar(40) DEFAULT NULL,
PRIMARY KEY (`id`)
)
そして2つのPHPの配列があるarr1[]=array("abc","bcd")
とarr2[]=array("abc","cde")
。
ここで、arr1 []の値をSQLテーブルに保存したとしましょう。では、arr2 []の値を同じSQLテーブルに保存する必要があるとしましょう。どのSQL INSERTクエリが "abc"エントリの重複した保存を避けるために書き込む必要がありますか?結果はでなければなりません:
MyTable:
1 | abc
2 | bcd
3 | cde
ではなく:
MyTable:
1 | abc
2 | bcd
3 | abc
4 | cde
UPDATE: たぶんMyTableとは重複したエントリが無視されるように定義された/作成する必要がありますか?
MyVar列に一意の制約を設定します。したがって、すでに存在する値を挿入しようとしても動作しません。 – TRD
http://stackoverflow.com/questions/548541/insert-ignore-vs-insert-on-duplicate-key-update – matino
'INSERT IGNORE' +残りのクエリ –