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

Znovu uspořádat / resetovat primární klíč automatického zvýšení

I když se tato otázka zdá být docela stará, odešle odpověď pro někoho, kdo sáhne sem a hledá.

SET @count = 0;
UPDATE `users` SET `users`.`id` = @count:= @count + 1;

Pokud je sloupec používán jako cizí klíč v jiných tabulkách, ujistěte se, že používáte ON UPDATE CASCADE namísto výchozího ON UPDATE NO ACTION pro vztah cizího klíče v těchto tabulkách.

Dále za účelem resetování AUTO_INCREMENT počítat, můžete okamžitě vydat následující výpis.

ALTER TABLE `users` AUTO_INCREMENT = 1;

U MySQL to resetuje hodnotu na MAX(id) + 1 .



  1. Potřeba resetovat hodnotu sekvence v Oracle

  2. Je možné vynutit zamykání na úrovni řádků v SQL Server?

  3. Změňte oddělovač na čárku při odesílání výsledků dotazu e-mailem na SQL Server (T-SQL)

  4. SQL Server SP - Předat parametr pro seznam polí IN?