У меня есть SQL-запрос, в который я хочу вставить несколько строк в одном запросе. поэтому я использовал что-то вроде:
$sql = "INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29)";
mysql_query( $sql, $conn );
Проблема в том, что когда я выполняю этот запрос, я хочу проверить, является ли ключ UNIQUE
(который не является PRIMARY KEY
), например, 'name'
выше, следует проверить, и если такой 'name'
уже существует, соответствующая целая строка должна быть обновлена в противном случае.
Например, в приведенном ниже примере, если 'Katrina'
уже присутствует в базе данных, должна быть обновлена вся строка, независимо от количества полей. Снова, если 'Samia'
отсутствует, строка должна быть вставлена.
Я думал об использовании:
INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29) ON DUPLICATE KEY UPDATE
Вот ловушка. Я застрял и запутался в том, как поступить. У меня есть несколько строк для вставки / обновления одновременно. Пожалуйста, дайте мне направление. Спасибо.