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 UNIQUE
chiave (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.