MariaDB: ALTER TABLE-syntax zum hinzufügen eines Fremdschlüssels?
was falsch mit der folgenden Anweisung?
ALTER TABLE submittedForecast
ADD CONSTRAINT FOREIGN KEY (data) REFERENCES blobs (id);
Die Fehlermeldung die ich erhalte ist
Can't create table `fcdemo`.`#sql-664_b` (errno: 150 "Foreign key constraint is incorrectly formed")
- Beachten Sie, dass die Datentypen, der Reihenfolge der Tabelle Definitionen, etc. können Ursache err 150.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies funktioniert für mich auf MariaDB 10.1.8:
Können Sie Ihre MariaDB-version-Nummer und ein komplettes Beispiel inklusive der
CREATE TABLE
Aussagen fürsubmittedForecast
undblobs
?Keine Ahnung, ob du schon das Problem gelöst, aber stellen Sie sicher, dass beide Motoren und Sortierungen match zwischen Tabellen (e.g: latin1 latin1 und InnoDB um InnoDB).
Ich hatte das gleiche Problem und mit dem Wechsel dieser habe ich es geschafft es zum laufen zu bringen.
War ich immer das gleiche Problem und nach einem Blick auf meine Tabellenstruktur, fand heraus, dass mein Kind in der Tabelle, foreign key-Klausel war nicht das verweisen auf die Primärschlüssel der übergeordneten Tabelle. Sobald ich es geändert Verweis auf Primärschlüssel der übergeordneten Tabelle, war der Fehler Weg.