Mam kwerendę sql, gdzie chcę wstawić wiele wierszy w jednym kwerendzie. tak kiedyś coś takiego:MySQL ON DUPLICATE KEY UPDATE dla wielu wierszy wstaw w pojedynczym zapytaniu
$sql = "INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29)";
mysql_query($sql, $conn);
Problemem jest to, kiedy wykonać to zapytanie, chcę sprawdzić, czy klucz UNIQUE (co nie jest klucz podstawowy), na np. "nazwa" w powyższym przypadku powinna być sprawdzona, a jeśli taka "nazwa" już istnieje, odpowiedni cały wiersz powinien zostać zaktualizowany inaczej wstawiony.
Na przykład w poniższym przykładzie, jeśli "Katrina" jest już obecna w bazie danych, cały wiersz, niezależnie od liczby pól, powinien zostać zaktualizowany. Ponownie, jeśli "Samia" nie jest obecny, należy wstawić wiersz.
Myślałem o użyciu:
INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29) ON DUPLICATE KEY UPDATE
Oto pułapka. Utknąłem i zdezorientowany, jak postępować. Mam wiele wierszy do wstawienia/aktualizacji naraz. Proszę, daj mi kierunek. Dzięki.
Dzięki za tonę. Właśnie tego chcę ... Jeszcze raz dziękuję ... – Prashant
** piękny **, dokładnie to, czego potrzebowałem. * heh, zobacz co tam zrobiłem? * –
Co zrobić, jeśli potrzebujemy dodać instrukcję IF w AKTUALIZACJI, która ma inny warunek dla każdego wiersza? – logic