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

Cara menghapus baris duplikat dan memperbarui tabel

Untuk memperbarui tabel pesanan, seperti:

update  orders
join    regions r1
on      r1.id = orders.region_id
set     orders.region_id = 
        (
        select  min(r2.id)
        from    regions r2
        where   r2.name = r1.name
        )

Setelah itu, Anda dapat menghapus baris duplikat dengan:

delete  regions
from    regions
where   id not in
        (
        select  id
        from    (
                select  min(id) as id
                from    regions
                group by
                    name
                ) as SubqueryAlias
        )

Subquery ganda diperlukan untuk menghindari kesalahan MySQL ERROR 1093 (HY000) at line 36: You can't specify target table 'regions' for update in FROM clause .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Pilih hanya baris di mana beberapa hubungan yang tepat ada

  2. Mengintegrasikan gambar dengan jQuery AutoComplete

  3. MySQL, mana yang lebih efisien longtext, text, atau blob? Meningkatkan efisiensi penyisipan

  4. Eclipse - tambahkan .jar ke Proyek Web Dinamis

  5. Cara membuka blokir dengan host flush mysqladmin