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

MySql nemůže provést sloupec auto_increment

K tomu dojde, pokud tabulka obsahuje existující záznam s id 0 (nebo záporné). Aktualizace všech existujících záznamů tak, aby používaly kladné hodnoty, umožní nastavit v tomto sloupci auto_increment.

Edit:Někteří lidé se ptali, jak se tam ta 0 dostala. Pro upřesnění, MySQL Reference Manual uvádí, že "Pro číselné typy je výchozí hodnota 0, s výjimkou, že pro celočíselné typy nebo typy s plovoucí desetinnou čárkou deklarované s atributem AUTO_INCREMENT je výchozí hodnotou další hodnota v pořadí." Pokud jste tedy provedli vložení do tabulky bez zadání hodnoty pro číselný sloupec před povolením auto_increment, pak by se během vkládání použila výchozí 0. Další podrobnosti lze nalézt na https://dev .mysql.com/doc/refman/5.0/en/data-type-defaults.html .



  1. SQL vybírá řádky podle nejnovějšího data se dvěma jedinečnými sloupci

  2. Druhý dotaz SELECT, pokud první SELECT vrátí 0 řádků

  3. MySQL LOAD DATA INFILE číslo řádku úložiště

  4. Škodlivé, všudypřítomné mýty o výkonu serveru SQL