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

Menghapus duplikat catatan SQL untuk mengizinkan kunci unik

Sebagai balasan atas komentar Anda, inilah kueri yang berfungsi di MySQL:

delete YourTable
from YourTable
inner join YourTable yt2
on YourTable.product_id = yt2.product_id
and YourTable.id < yt2.id

Ini hanya akan menghapus baris duplikat. inner join akan memfilter baris terbaru untuk setiap produk, meskipun tidak ada baris lain untuk produk yang sama.

P.S. Jika Anda mencoba membuat alias tabel setelah FROM , MySQL mengharuskan Anda untuk menentukan nama database, seperti:

delete <DatabaseName>.yt
from YourTable yt
inner join YourTable yt2
on yt.product_id = yt2.product_id
and yt.id < yt2.id;


  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 menonaktifkan innodb di mysql?

  2. kesalahan fatal yang ditemui selama eksekusi perintah selama pembaruan

  3. Ulangi hingga kode sandi unik

  4. Sampel Acak Sederhana dari database Sql

  5. Memigrasikan Database MySQL dari CloudSQL Ke AWS RDS