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

Opdatering af AUTO_INCREMENT-værdi for alle tabeller i en MySQL-database

Bruger:

ALTER TABLE some_table AUTO_INCREMENT = 0

... vil nulstille auto_increment-værdien til at være den næste værdi baseret på den højeste eksisterende værdi i auto_increment-kolonnen.

For at køre dette over alle tabellerne skal du bruge MySQL's dynamiske SQL-syntaks kaldet PreparedStatements fordi du ikke kan angive tabelnavnet for en ALTER TABLE-sætning som en variabel. Du bliver nødt til at gå over outputtet fra:

SELECT t.table_name
  FROM INFORMATION_SCHEMA.TABLES t
 WHERE t.table_schema = 'your_database_name'

...kører ALTER TABLE-sætningen ovenfor for hver tabel.



  1. Valg af forskellige 2 kolonner kombination i mysql

  2. MySQL OPTIMERE alle tabeller?

  3. MySQL Wildcard for =- er der en

  4. Er mysqli_real_escape_string nok til at undgå SQL-injektion eller andre SQL-angreb?