sql >> Databáze >  >> RDS >> Mysql

Odstraňte duplicitní záznamy bez vytvoření dočasné tabulky

Zde je řešení na místě (ale ne jednovrstvé)

Zjistěte maximální id:

select max(id) as maxid 
  from shop;

Pamatujte si tuto hodnotu. Řekněme, že se to rovná 1000;

Znovu vložte jedinečné hodnoty s posunem:

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

Vypustit staré hodnoty:

delete from shop
  where id <= 1000;

Obnovení normálních ID:

update shop
  set id = id - 1000;

ZISK!



  1. Dobrá praxe pro otevírání/uzavření připojení v aplikaci asp.net?

  2. Proč dostanu Postup očekává parametr '@statement' typu 'ntext/nchar/nvarchar'. když se pokusím použít sp_executesql?

  3. Efektivní ukládání obrázků nahraných uživatelem do systému souborů

  4. Jak nakonfiguruji HikariCP pro postgresql?