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

MySql:atur variabel dengan daftar

Variabel di MySQL membutuhkan nilai tunggal yang sederhana, umumnya berupa string, angka, atau boolean. Yang dapat Anda lakukan, dalam hal ini, adalah mengarahkan ID Penjualan Anda melalui GROUP_CONCAT() , yang akan mengembalikan daftar semua ID Penjualan yang dipisahkan koma (dengan beberapa batasan - Anda mungkin perlu menyesuaikan beberapa pengaturan konfigurasi jika Anda memiliki banyak ID Penjualan dan tidak dapat memfilternya sama sekali), lalu lakukan FIND_IN_SET() , yang memeriksa nilai dalam daftar yang dipisahkan koma. Sesuatu seperti ini akan bekerja untuk set kecil:

SET @list = (SELECT GROUP_CONCAT(ID) FROM Sales);
UPDATE items SET aValue = X WHERE FIND_IN_SET(salesID, @list) > 0;
DELETE FROM SalesMessages WHERE FIND_IN_SET(salesId, @list) > 0;

Anda juga dapat mengabaikan pembuatan variabel sepenuhnya melalui gabungan, yang akan lebih cepat, dan akan mengatasi batasan panjang pada GROUP_CONCAT() :

UPDATE items as i INNER JOIN Sales as s ON s.ID = i.salesID SET i.aValue = X;
DELETE sm FROM SalesMessages as sm INNER JOIN Sales as s ON s.ID = sm.salesID;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Kode Kesalahan 1215, tidak dapat menambahkan batasan kunci asing

  2. Perbedaan antara menggunakan REFERENSI dengan dan tanpa FOREIGN KEY?

  3. Membuat Tabel Angka di MySQL

  4. Kata sandi MySQL kedaluwarsa. Tidak dapat terhubung

  5. java.sql.SQLException:Jumlah kolom tidak cocok dengan jumlah nilai pada kesalahan baris 1