MySQL и дублирование первичного ключа

alex_90

Здрафствуйте. У меня такой вопрос. Есть таблица с полями id и value. Поле id - NOT NULL PRIMARY KEY, AUTO_INCREMENT.

1) Можно ли как-нибудь сказать MySQL чтобы при добавлении новой строки с повторяющимся id он автоматически обновлял уже существующую строку.

2) То же самое, но когда первичным ключом являются сразу несколько полей в совокупности.

1 ответ

alex_90

Используйте конструкцию INSERT ... ON DUPLICATE KEY UPDATE:

INSERT INTO table (id,value) VALUES (1,2)
ON DUPLICATE KEY UPDATE value = VALUES(value);

см. документацию

licensed under cc by-sa 3.0 with attribution.