sql >> Database >  >> RDS >> Mysql

Wat betekent mysql-fout 1025 (HY000):Fout bij hernoemen van './foo' (errorno:150)?

Meestal krijg je deze foutmelding als je tabellen de InnoDB-engine gebruiken. In dat geval zou je de externe sleutel moeten laten vallen, en dan de tabel wijzigen en de kolom laten vallen.

Maar het lastige is dat je de externe sleutel niet kunt laten vallen met behulp van de kolomnaam, maar in plaats daarvan de naam moet vinden die wordt gebruikt om deze te indexeren. Om dat te vinden, voert u de volgende selectie uit:

TOON MAAK TABEL regio;

Dit zou u de naam van de index moeten tonen, ongeveer als volgt:

BEPERKING region_ibfk_1 FOREIGNKEY (country_id ) REFERENTIEScountry (id ) BIJ VERWIJDEREN GEEN ACTIE BIJ UPDATE GEEN ACTIE

Geef nu gewoon een:

verander tabel regio drop externe sleutelregion_ibfk_1;

En tot slot een:

verander tabel regio drop columncountry_id;

En je bent klaar om te gaan!



  1. Selecteer Bulk Collect in Oracle-voorbeeld

  2. Inleiding tot Python SQL-bibliotheken

  3. het automatiseren van rollback script oracle

  4. Hoe UTF-8-tekens weergeven in phpMyAdmin?