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

Jak aktualizuji tabulku, abych přidal primární klíč a aktualizoval všechny existující řádky se zvýšenými ID?

Po přidání nového sloupce ID (zatím jej nenastavujte jako primární klíč a nezapínejte automatické zvyšování) spusťte:

SET @index = 1;
UPDATE tablename SET ID = (@index:[email protected]+1);

Tím se nastaví zvyšující se hodnota ID počínaje 1 na každý z vašich stávajících řádků, čímž se vyřeší problém s duplicitním klíčem, kterému byste čelili, kdybyste se pokusili vložit nový sloupec primárního klíče poté, co již byla data zadána.

Jakmile to uděláte, můžete sloupec ID nastavit jako primární klíč s automatickým přírůstkem.



  1. MySQL se neaktualizuje po volání connection.commit() pomocí Flask (FUNGUJE)

  2. Analýza dat XML pomocí php pro vložení do databáze mysql

  3. Spojení tabulek InnoDB s tabulkami MyISAM

  4. MySQL deaktivuje všechny spouštěče