MySQL и вставка строк, только если они не существуют

MrRissso

Пользователь
Регистрация
23.02.11
Сообщения
2
Реакции
0
Баллы
1
У меня есть база данных MySQL со следующей таблицей:



Код:
INSERT INTO points (competition_id, user_id, pts)
VALUES (1, 2, 3), (4, 5, 6)
ON DUPLICATE KEY UPDATE competition_id = competition_id


Код (SQL): Мне нужно вставить несколько строк. Если строка существует, ее необходимо пропустить. Если строка не существует, ее необходимо вставить. Не разрешается изменять существующие строки.

У меня есть пара идей, но сработают ли они вообще? Как бы вы это сделали?

1)

INSERT IGNORE INTO points (competition_id, user_id, pts) VALUES (1, 2, 3), (4, 5, 6)
Код (SQL): 2)
MySQL и вставка строк, только если они не существуют
CREATE TABLE points ( competition_id INT(10) UNSIGNED NOT NULL , user_id INT(10) UNSIGNED NOT NULL , pts INT(10) NOT NULL , PRIMARY KEY (competition_id, user_id) , INDEX (competition_id) , INDEX (user_id) ) ENGINE=InnoDB CHARACTER SET latin1 COLLATE latin1_swedish_ci;
Код (SQL):
 
Сверху Снизу