Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Co oznacza błąd mysql 1025 (HY000):Błąd zmiany nazwy './foo' (errorno:150)?

Zwykle pojawia się ten błąd, jeśli Twoje tabele używają silnika InnoDB. W takim przypadku musiałbyś usunąć klucz obcy, a następnie wykonać tabelę alter i upuścić kolumnę.

Ale trudną częścią jest to, że nie możesz usunąć klucza obcego za pomocą nazwy kolumny, ale zamiast tego musiałbyś znaleźć nazwę używaną do jej indeksowania. Aby to znaleźć, wydaj następujące wybierz:

POKAŻ region CREATE TABLE;

Powinno to pokazać nazwę indeksu, mniej więcej tak:

OGRANICZENIE region_ibfk_1 FOREIGNKEY (country_id ) REFERENCEScountry (id ) PRZY USUWANIU NOAKCJI PRZY AKTUALIZACJI ŻADNEJ AKCJI

Teraz po prostu wydaj:

Zmień region tabeli, upuść klucz obcyregion_ibfk_1;

I wreszcie:

zmiana regionu tabeli upuść columncountry_id;

I jesteś gotowy!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL i JDBC z rewriteBatchedStatements=true

  2. Jak filtrować wyniki SQL w relacji ma wiele przejść?

  3. Pierwsze kroki z GearHost do tworzenia baz danych MySQL

  4. Jak sprawdzić, czy wiersz istnieje w MySQL? (tzn. sprawdź, czy wiadomość e-mail istnieje w MySQL)

  5. Podejścia do shardingu MySQL?