Tôi có truy vấn sql mà tôi muốn chèn nhiều hàng trong một truy vấn. vì vậy tôi đã sử dụng một cái gì đó như:MySQL VỀ CẬP NHẬT KEY DUPLICATE cho nhiều hàng chèn trong truy vấn đơn
$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 phím UNIQUE (không phải là khóa CHÍNH), ví dụ. 'tên' trong trường hợp trên, nên được kiểm tra và nếu một 'tên' đã tồn tại, toàn bộ hàng tương ứng phải được cập nhật nếu không chèn vào.
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, sẽ được cập nhật. Một lần nữa nếu không có 'Samia', thì hàng sẽ được chèn vào.
Tôi nghĩ của 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 làm thế nào để tiến hành. Tôi có nhiều hàng để chèn/cập nhật tại một thời điểm. Xin vui lòng cho tôi hướng đi. Cảm ơn.
Cảm ơn một tấn. Đó là chính xác những gì tôi muốn .... Cảm ơn một lần nữa ... – Prashant
** đẹp **, chính xác những gì tôi cần. * heh, xem tôi đã làm gì ở đó? * –
Điều gì xảy ra nếu chúng ta cần đưa câu lệnh IF vào CẬP NHẬT có điều kiện khác nhau cho mỗi hàng? – logic