Chỉ cần thực hiện UPDATE
khi bạn SELECT
nó cùng một lúc.
Thay đổi điều này:
SELECT product_name, sku, qty
FROM supplier_dropship_items
WHERE supplier_id = '3' AND status = '2';
về điều này:
UPDATE supplier_dropship_items as t,
(
SELECT id, product_name, sku, qty
FROM supplier_dropship_items
WHERE supplier_id = '3' AND status = '2'
) as temp
SET status = '1' WHERE temp.ID = t.ID;
Điều này giả sử bạn có một cột ID bên trong bảng của mình vì đây là cách nó phải được thiết lập và bất kỳ bảng chuẩn hóa nào sẽ trông như thế nào.
Chỉnh sửa
Đây là liên kết cho tài liệu về cú pháp này
Về cơ bản những gì điều này đang làm là trong khi cố gắng cập nhật bảng mà chúng tôi ở đây là bí danh là t
, bạn đồng thời chạy một câu lệnh chọn.
Câu lệnh select này trả về một bảng kết quả mà chúng tôi đặt bí danh với tên temp
.
Vì vậy, bây giờ hãy tưởng tượng kết quả của câu lệnh select của bạn nằm bên trong temp
, trong khi toàn bộ bảng bạn đang cập nhật nằm bên trong t
.
Cuối cùng bạn cập nhật status
trường thành 1
nơi ID
của (trên hai tập kết quả bí danh này) khớp