mysqlINSERT INTO
のドキュメントをよく見てください。
「on no exists」を挿入する方法は簡単です。の組み合わせをuser,who,share
一意にし、最新の日付を使用するとします。テーブルを更新しUNIQUE KEY
、それらのフィールドに作成します。
ALTER TABLE Table1 ADD UNIQUE KEY (user, who, share);
通常、同じ組み合わせを挿入するとエラーが発生しますが、INSERT IGNORE
(上記のリンク) を使用するとエラーは黙って無視されます。
INSERT IGNORE INTO Table1 (user,who,share,date) VALUES ( 1, 2, 3, NOW());
挿入時にキーを強制的に更新することもできます。
INSERT IGNORE INTO Table1 (user,who,share,date) VALUES ( 1, 2, 3, NOW())
ON DUPLICATE KEY UPDATE date = VALUES(date);
一度に複数の値を挿入します。これも最初のリンクです。
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);