sql >> Databáze >  >> RDS >> Mysql

Nelze změnit MySQL AUTO_INCREMENT

Po nějaké další práci na tom jsem našel hloupé, neintuitivní řešení.

Nejprve odstraňte AUTO_INCREMENT ze sloupce ID. Měl jsem zapnuté kontroly cizího klíče, takže jsem musel spustit:

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

Dále aktualizujte AUTO_INCREMENT hodnota:

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

Nakonec znovu přidejte AUTO_INCREMENT :

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;

Doufám, že to pomůže nějaké ubohé duši!




  1. Oracle:Existuje způsob, jak získat nedávné chyby syntaxe SQL?

  2. Hledáte prohlížeč souborů protokolu transakcí SQL

  3. Převeďte bod MySQL na text v PHP

  4. postgres regexp_replace chtějí povolit pouze a-z a A-Z