- 13, May 2024
- #1
У меня есть база данных MySQL со следующей таблицей:
Если строка существует, ее необходимо пропустить.
Если строка не существует, ее необходимо вставить.
Не разрешается изменять существующие строки. У меня есть пара идей, но сработают ли они вообще? Как бы вы это сделали? 1)
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)
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):