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

MySQL 5.6 - tabulka se uzamkne, i když je použit ALGORITHM=inplace

Předpokládám, že jste zhruba ve stejnou dobu neprováděli nějaké další DDL na tomto stole?

Pro budoucnost:

8.0.12 má ALTER TABLE .. ALGORITHM=INSTANT pro ADD COLUMN . Viz Diskuse a Reference ALTER a Online reference DDL

Následující omezení platí, pokud je k přidání sloupce použit algoritmus INSTANT:

  • Přidání sloupce nelze kombinovat ve stejném příkazu s jinými akcemi ALTER TABLE, které nepodporují ALGORITHM=INSTANT.
  • Sloupec lze přidat pouze jako poslední sloupec tabulky. Přidání sloupce na jakoukoli jinou pozici mezi ostatní sloupce není podporováno.
  • Do tabulek, které používají ROW_FORMAT=COMPRESSED, nelze přidávat sloupce.
  • Do tabulek, které obsahují FULLTEXTOVÝ index, nelze přidávat sloupce.
  • Do dočasných tabulek nelze přidávat sloupce. Dočasné tabulky podporují pouze ALGORITHM=COPY.
  • Do tabulek, které se nacházejí v tabulkovém prostoru datového slovníku, nelze přidávat sloupce.
  • Omezení velikosti řádku se při přidávání sloupce nevyhodnocují. Limity velikosti řádků jsou však kontrolovány během operací DML, které vkládají a aktualizují řádky v tabulce.

Do stejného příkazu ALTER TABLE lze přidat více sloupců.

Pokud nemůžete upgradovat, zvažte pt-online-schema-change společnosti Percona nebo nový, konkurenční produkt gh-ost (který používá binlog).



  1. Jak vytvořím složený klíč pomocí SQL Server Management Studio?

  2. Získat seznam všech tabulek v Oracle?

  3. Kde PostgreSQL ukládá konfigurační/conf soubory?

  4. jak zkontrolovat a nastavit proměnnou max_allowed_packet mysql