sql >> Databasteknik >  >> RDS >> Mysql

Ta bort dubbletter av poster utan att skapa en tillfällig tabell

Här är en lösning på plats (men inte one-liner)

Ta reda på max-id:

select max(id) as maxid 
  from shop;

Kom ihåg detta värde. Låt oss säga att det är lika med 1000;

Infoga unika värden igen, med offset:

insert into shop (id, tax_id) 
select distinct id + 1000, tax_id 
  from shop;

Släpp gamla värden:

delete from shop
  where id <= 1000;

Återställ normala id:

update shop
  set id = id - 1000;

VINST!



  1. Hur man använder kommandot Compact and Repair i Access

  2. zsh:kommandot hittades inte:mysql

  3. Ansluter till Amazon RDS-instans genom EC2-instans med MySQL Workbench

  4. Olika sätt att jämföra SQL Server-tabellschema och data