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

MySQL:Anda tidak dapat menentukan tabel target untuk pembaruan dalam klausa FROM

Apakah Anda mendapatkan kesalahan ini?

Itu karena Anda tidak dapat memperbarui tabel secara langsung jika Anda menggunakannya pada pernyataan subselect lain. Salah satu alternatifnya adalah menggabungkan tabel dengan dirinya sendiri.

UPDATE  list a
        INNER JOIN
        (
            SELECT  dn 
            FROM    list 
            GROUP   BY dn 
            HAVING  COUNT(*) < 2000 
        ) b ON a.dn = b.dn
SET     a.li = '6'
WHERE   a.li = '5



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara saya menanyakan antara dua rentang waktu menggunakan MySQL?

  2. Bagaimana menemukan semua baris anak di MySQL?

  3. Pencarian MySQL Fulltext selalu memiliki 0 hasil?

  4. Pemicu MYSQL:JSON_SEARCH nilai integer dalam array json bilangan bulat

  5. Dalam SQL, bolehkah dua tabel saling merujuk?