sql >> Databasteknik >  >> RDS >> Mysql

Det går inte att ändra MySQL AUTO_INCREMENT

Efter att ha jobbat på det lite mer hittade jag en dum, icke-intuitiv lösning.

Ta först bort AUTO_INCREMENT från din ID-kolumn. Jag hade kontroll av främmande nyckel så jag var tvungen att köra:

SET FOREIGN_KEY_CHECKS = 0;
ALTER TABLE `warehouse`.`addresses`
    CHANGE COLUMN `aID` `aID` INT(10) UNSIGNED NOT NULL;
SET FOREIGN_KEY_CHECKS = 1;

Uppdatera sedan AUTO_INCREMENT värde:

ALTER TABLE 'warehouse'.'addresses' AUTO_INCREMENT = 123;

Slutligen, lägg till AUTO_INCREMENT igen :

SET FOREIGN_KEY_CHECKS = 0;
ALTER TABLE `warehouse`.`addresses`
    CHANGE COLUMN `aID` `aID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;
SET FOREIGN_KEY_CHECKS = 1;

Hoppas detta hjälper någon stackars själ!




  1. Hur ansluter man till SQL Server-databas från JavaScript i webbläsaren?

  2. mysql - hur många kolumner är för många?

  3. Skapa inte bara blint de saknade indexen!

  4. Hur man ökar antalet förekomster av kolumnvärde i MySQL