Tôi có một truy vấn SQL nơi tôi muốn chèn nhiều hàng trong một truy vấn duy nhất. vì vậy tôi đã sử dụng một cái gì đó như:
$sql = "INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29)";
mysql_query( $sql, $conn );
Vấn đề là khi tôi thực hiện truy vấn này, tôi muốn kiểm tra xem một UNIQUE
khóa (không phải là khóa PRIMARY KEY
), ví dụ như 'name'
ở trên, có nên được kiểm tra không và nếu như vậy'name'
đã tồn tại, toàn bộ hàng tương ứng phải được cập nhật nếu không.
Chẳng hạn, trong ví dụ dưới đây, nếu 'Katrina'
đã có trong cơ sở dữ liệu, toàn bộ hàng, không phân biệt số lượng trường, cần được cập nhật. Một lần nữa nếu'Samia'
không có mặt, hàng nên được chèn.
Tôi nghĩ về việc sử dụng:
INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29) ON DUPLICATE KEY UPDATE
Đây là cái bẫy. Tôi đã bị mắc kẹt và bối rối về cách tiến hành. Tôi có nhiều hàng để chèn / cập nhật cùng một lúc. Xin vui lòng cho tôi một hướng. Cảm ơn.