sql >> Database teknologi >  >> RDS >> Mysql

Hvordan opdaterer jeg en tabel for at tilføje en primær nøgle og opdatere alle de eksisterende rækker med øgede id'er?

Efter tilføjelse af en ny id-kolonne (indstil ikke som en primær nøgle endnu, og slå ikke automatisk stigning til), kør:

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

Dette indstiller en stigende id-værdi, der starter fra 1 til hver af dine eksisterende rækker, og løser dermed det dubletnøgleproblem, du ville støde på, hvis du forsøgte at indsætte en ny primærnøglekolonne, efter at data allerede er blevet indtastet.

Når dette er gjort, kan du indstille ID-kolonnen som en primær nøgle med automatisk stigning.



  1. PHP PDO hvordan kører man en anmodning om flere forespørgsler?

  2. Hurtigste måde at gentage en stor tabel ved hjælp af JDBC

  3. Sådan tjekker du hvilke låse der holdes på et bord

  4. Ændring af et Enum-felt ved hjælp af Alembic