Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL - CHỌN rồi CẬP NHẬT

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tải dữ liệu trong tệp MySQL MacOS

  2. Cách lấy bản ghi ngay từ hôm nay trong MySQL

  3. Chọn các hàng giữa một hàng được chỉ định đến một số hàng với điều kiện cụ thể

  4. Lưu truy vấn mysql vào tệp excel từ trang web php

  5. Hai bảng, tùy theo mối quan hệ từ một đến nhiều. Làm thế nào để nối các giá trị mà không có các hàng trùng lặp?