Hi Ich habe ein Problem beim Erstellen einer Tabelle mit dem Migrationsschema-Builder. Das Problem tritt bei einer Tabelle mit einem sich selbst referenzierenden Fremdschlüssel auf. Hier ist der Code, der einen Fehler erzeugt:
%Vor%Hier ist der Fehler:
%Vor% gory add constraint cb_category_parent_id_foreign foreign key (
übergeordnete_id ) references
cb_category (
id ') auf del
Kaskade auf Update-Kaskade) (Bindings: array (
))
[PDOException] SQLSTATE [HY000]: Allgemeiner Fehler: 1005 Tabelle kann nicht erstellt werden 'eklik2. # Sql-7d4_e' (errno: 150)
Irgendeine Idee?
Ich bin vielleicht zu spät für die Party, aber die offiziellen Dokumente behaupten, dass der Fremdschlüssel im Fall von Ganzzahl ->unsigned();
Hinweis: Beim Erstellen eines Fremdschlüssels, der auf ein Inkrementieren verweist Ganzzahl, denken Sie daran, die Fremdschlüsselspalte immer vorzeichenlos zu machen.
Auch Artisan scheitert nicht, wenn Sie (wie ich) misspell unsigned()
geschrieben haben und ich habe einige Stunden damit verbracht, herauszufinden, warum der Schlüssel nicht erstellt wurde.
Also zwei Dinge:
1. Lassen Sie die Fremdschlüsselspalte im Falle von Ganzzahlen immer vorzeichenlos
2. Überprüfen Sie die Schreibweise von unsigned()
Tags und Links php mysql migration laravel foreign-keys