Irgendeine Idee zu diesen Syntaxfehlern? Bezogen auf die FOREIGN KEY-Syntax? Keine Ahnung! Ich habe den ENGINE = INNODB entfernt; Linien, aber es funktioniert immer noch nicht.
DROP TABLE IF EXISTS Marriage;
CREATE TABLE Marriage (
marriageID int NOT NULL,
PRIMARY KEY(marriageID),
date DATE,
place varchar(100)
);
Die obersten funktioniert gut - das wirkliche Problem beginnt mit dem Fremdschlüssel der nächsten:
DROP TABLE IF EXISTS MarriagePerson;
CREATE TABLE MarriagePerson (
marriagePersonID int NOT NULL,
marriageID int,
personID int,
PRIMARY KEY(marriagePersonID),
FOREIGN KEY marriageID REFERENCES Marriage(marriageID),
FOREIGN KEY personID REFERENCES Person(personID)
);
DROP TABLE IF EXISTS Person;
CREATE TABLE Person (
personID int NOT NULL,
PRIMARY KEY(personID),
firstName varchar(100),
lastName varchar(100),
gender ENUM(male, female, nonBinary),
birthDate DATE,
birthPlace varchar(100),
deathDate DATE,
deathPlace varchar(100),
causeOfDeath varchar(100),
note varchar(1000)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS Parent;
CREATE TABLE Parent (
parentID int NOT NULL,
PRIMARY KEY(parentID),
FOREIGN KEY personID int,
FOREIGN KEY parentPersonID int,
relationship ENUM(sperm, egg)
) ENGINE=InnoDB;
Sie haben einige Fremdschlüssel in der Tabelle "Parent", aber sie verweisen auf nichts. –
Und was sind diese Syntaxfehler? – Shadow
Können Sie die Fehler posten? – Krishnakumar