sql >> Databasteknik >  >> RDS >> Mysql

Hur man ändrar automatiskt inkrementvärde för MySQL / MariaDB-databasen

Nästan alla databastabeller har en unik kolumn som fungerar som identifierare och har ett värde som automatiskt ökar efter databasmotor för varje ny post. Det automatiska inkrementvärdet lagras i tabellernas schema i databasen och är normalt inte modifierbart. Nästa automatiska inkrementeringssekvensnummer beräknas automatiskt av databasen och infogas i tabellen tillsammans med posterna.

Denna handledning visar dig hur du ändrar auto_increment-värdet till ett nummer som du önskade i MySQL eller MariaDB. Till exempel att starta det automatiska ökningsvärdet från ett större antal av 100 istället för 1 (standard för ny tabell).

Metod 1:Ändra tabell

Kör följande fråga:

ALTER TABLE tbl_name AUTO_INCREMENT = x;

Ersätt tbl_name med faktiska tabellnamn och x med ett nummer du föredrar, till exempel 7.

Obs! Att köra "ALTER TABLE"-frågan kan orsaka ombyggnad av hela tabellen för vissa MySQL-versioner, så använd med försiktighet för stora databaser.

Metod 2:Infoga automatiskt ökningsvärde

Kör följande fråga:

BEGIN WORK;
INSERT INTO tbl_name (ID) VALUES (x);
ROLLBACK;

Ersätt tbl_name med faktiskt tabellnamn, ID med det faktiska kolumnnamnet som har attributet auto_increment och x med ett nummer du föredrar, till exempel 7.

Frågorna ovan lurar MySQL- eller MariaDB-databasen att använda ett påtvingat auto_increment-värde, som den kommer att komma ihåg som den aktuella och senaste auto_increment-sekvensen att använda för nästa transaktion. Börja och rulla tillbaka se till att transaktionen inte infogas i databasen alls. Observera att du också måste lägga till andra obligatoriska kolumner och värden i "INSERT INTO"-frågan ovan för att det ska fungera.


  1. Sorterar nollvärden efter alla andra, utom speciella

  2. Hantering av samtidiga uppdateringar i viloläge

  3. 2 sätt att konvertera mellan decimal och hexadecimal i MySQL

  4. Hur kan jag skydda MySQL användarnamn och lösenord från dekompilering?