ich eine Migration für meine Tags Tabelle wie die unten haben:Kann nicht Fremdschlüssel in Laravel Fehler hinzufügen
Schema::create('tags', function (Blueprint $table) {
$table->increments('id');
$table->char('tag' , 15);
});
Nun, ich habe die folgende Migration für meine admin
Tabelle, in der ich einen Fremdschlüssel haben im Zusammenhang mit meine tags
Tabelle, ist die Migration der folgende:
Schema::create('admin', function (Blueprint $table) {
$table->char('tag' , 15);
$table->foreign('tag')->references('tag')->on('tags');
});
Jetzt, als ich diese Migration ich folgende Fehlermeldung erhalten, laufen:
Beide Tabellen sind innodb
Ich habe dies in den Einstellungen in Laravel geändert. Aber ich kann immer noch keinen Fremdschlüssel-Constraint-Fehler hinzufügen. Warum ??
[Diese SO Antwort] (https://stackoverflow.com/questions/22615926/migration-cannot-add-foreign-key-constraint-in-laravel) adressiert Ihre Bedenken. –
Warum referenzieren Sie nicht die ID-Spalte anstelle der Tag-Spalte selbst? Wie auch immer, ist die Datenbank sauber? Weil dieser Fehler auftritt, wenn die Datenbank durch das Erstellen des Fremdschlüssels ihre Integrität verliert, so dass der fk nicht erstellt werden kann. –
@DamianSimonPeter versuchte das appraoch .. funktioniert nicht, hatte diesen Thread gesehen! –