SQL FOREIGN KEY
Uri
- datenbank
- sql
2 Christian Kruse0 Uri
0 Uri
Hallo, ich möchte eine Datenbank für eine Webapplikation bauen und mir macht der Foreign Key dabei ziemliche Probleme.
-- Create Table Wohnung
create table ImmobilienDB.Wohnung(
ID int NOT NULL
);
-- Create Table Mieter
create Table ImmobilienDB.Mieter(
ID int NOT NULL PRIMARY KEY,
Nachname varchar(255) NOT NULL,
Vorname varchar(255) NOT NULL
);
-- Create Table Vermietung
CREATE TABLE ImmobilienDB.Vermietung(
Mieter int,
Wohnung int,
FOREIGN KEY(Wohnung) References ImmobilienDB.Wohnung(ID),
FOREIGN KEY(Mieter) REFERENCES ImmobilienDB.Mieter(ID)
);
Tabelle Wohnung und Mieter sind erstellt. Wenn ich die Tabelle Vermietung erstellen will, bekomme ich den Folgenden Fehler:
ERROR 1005 (HY000): Can't create table 'ImmobilienDB.Vermietung' (errno: 150)
Ich habe zuerst versucht den Foreign Key direkt in Wohnung und Mieter zu einzubauen und bekam den gleichen Fehler.
Wenn ich es richtig verstanden habe, kommt dieser Fehler zustande, wenn man einen nicht Primary Key referenziert. Das ist aber nicht der Fall. Hoffe ihr könnt mir helfen.
Gruß Uri
Hallo Uri,
-- Create Table Wohnung create table ImmobilienDB.Wohnung( ID int NOT NULL ); -- […]
Wenn ich es richtig verstanden habe, kommt dieser Fehler zustande, wenn man einen nicht Primary Key referenziert. Das ist aber nicht der Fall. Hoffe ihr könnt mir helfen.
Wenn das wirklich deine Definition ist: ImmobilienDB.Wohnung.ID
ist hier kein Primary Key.
LG,
CK
Ja, hab es gerade auch gesehen als selfhtml den code in sql formatiert hat. Danke
Wohnung ID war doch kein Primary Key.