Ho una query SQL in cui desidero inserire più righe in una singola query. quindi ho usato qualcosa del tipo:
$sql = "INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29)";
mysql_query( $sql, $conn );
Il problema è quando eseguo questa query, voglio verificare se una UNIQUEchiave (che non è la PRIMARY KEY), ad esempio 'name'sopra, dovrebbe essere controllata e se tale 'name'esiste già, l'intera riga corrispondente dovrebbe essere aggiornata altrimenti inserita.
Ad esempio, nell'esempio seguente, se 'Katrina'è già presente nel database, l'intera riga, indipendentemente dal numero di campi, deve essere aggiornata. Ancora una volta, se 'Samia'non è presente, la riga deve essere inserita.
Ho pensato di usare:
INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29) ON DUPLICATE KEY UPDATE
Ecco la trappola. Mi sono bloccato e confuso su come procedere. Ho più righe da inserire / aggiornare alla volta. Per favore, dammi una direzione. Grazie.