Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL - PILIH lalu PERBARUI

Cukup lakukan UPDATE ketika Anda SELECT sekaligus.

Ubah ini:

SELECT product_name, sku, qty 
FROM supplier_dropship_items 
WHERE supplier_id = '3' AND status = '2';

untuk ini:

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;

Ini dengan asumsi Anda memiliki kolom ID di dalam tabel Anda karena ini adalah cara pengaturannya dan bagaimana tampilan tabel yang dinormalisasi.

Sunting

Berikut adalah tautan untuk dokumentasi tentang sintaks ini

Pada dasarnya apa yang dilakukan ini adalah ketika mencoba memperbarui tabel yang kita aliasing di sini sebagai t , Anda secara bersamaan menjalankan pernyataan pilih.
Pernyataan pilih ini mengembalikan tabel hasil yang kita alias dengan nama temp .
Jadi sekarang bayangkan hasil pernyataan pilih Anda ada di dalam temp , sementara seluruh tabel yang Anda perbarui ada di dalam t .
Akhirnya Anda memperbarui status bidang ke 1 dimana ID 's (pada dua set hasil alias ini) cocok



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cara mendapatkan id sisipan terakhir setelah memasukkan kueri dalam catatan aktif codeigniter

  2. Knex.js - Cara Memperbarui Bidang Dengan Ekspresi

  3. Pojok basis data:Panduan pemula untuk mesin penyimpanan MySQL

  4. MySQL Query untuk menarik item, tetapi selalu menampilkan item tertentu di atas

  5. Cara menyalin tabel dari satu database mysql ke database mysql lain