Вы должны внимательно взглянуть на mysql INSERT INTO
документацию .
Как вставить "на не существует" просто.Допустим, вы хотите, чтобы комбинация 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);