sql >> Databasteknik >  >> RDS >> Mysql

Hur man får aktuellt Auto_Increment-sekvensnummer för MySQL / MariaDB-tabell

De flesta tabeller i databasen har en kolumn med sekvensnummer för automatisk inkrementering som fungerar som unik identifierare för dataraderna. Auto_increment-värdet är alltid inställt på att öka när ny data läggs till i tabellen. Med tiden kanske sekvensnumret för auto_increment-värdet för unik identifierare inte längre synkroniseras med det totala antalet rader i tabellen, särskilt när många raderings- eller sammanslagningsåtgärder är involverade.

Den här handledningen visar hur du kontrollerar och får aktuellt auto_increment-värde för en tabell. Observera att värdet auto_increment som visas av databasen är NÄSTA sekvensnummer som ska användas av databasen, dvs. som ska infogas med ny rad.

Metod 1

Kör följande fråga:

SHOW TABLE STATUS FROM `DatabaseName` WHERE `name` LIKE 'TableName' ;

Ersätt DatabasnamnTabellnamn med det faktiska tabellnamnet. Värdet auto_increment returneras i en av kolumnerna.

Metod 2

Kör följande fråga:

SELECT `AUTO_INCREMENT`
FROM  INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'DatabaseName'
AND   TABLE_NAME   = 'TableName';

Ersätt DatabasnamnTabellnamn med det faktiska tabellnamnet. Frågan returnerar värdet auto_increment direkt.

Metod 3

Kör följande fråga:

SHOW CREATE TABLE TableName;

Ersätt Tabellnamn med det faktiska tabellnamnet. Frågan returnerar CREATE TABLE-frågan för tabellen, med värdet auto_increment som visas längst ned.


  1. Hur man importerar och exporterar en MySQL-databas

  2. sql-server välj första raden från en grupp

  3. Hur tar jag bort specifika rader i SQLite Database

  4. ROUND(datum) Funktion i Oracle