Guten Tag
Erst einmal meine Datenbank:
Nun wie ihr in:
sehen könnt, möchte ich eine Löschcascade verwenden.
Dafür benötige ich bekanntlicher Weise die innodb...
Mein Problem ist nun wenn ich als engine innodb angeben, (wie hier überall gemacht) bekomme ich in den relationen, in denen ich einen foreign key angebe (z.B. in team) immer eine fehlermeldung:
Can't create table '.\bundesliga\team.frm' (errno: 150)
Ich finde einfach den Fehler nicht.
P.S.
Wie ihr hier sehen könnt, verwende ich einen foreign key in eine relation, die ich hier nicht gepostet habe, also nicht wunder
Vielen Danke schonmal im Vorraus.
R3van
Erst einmal meine Datenbank:
Code:
create table spiel(spiel_id INT(2) NOT NULL auto_increment, #Zwei bits bedeutet 99 Spiele
spiel CHAR(15), #Haupsächlich Call of Duty 1-4
primary key(spiel_id)) ENGINE = InnoDB;
create table team(team_id INT(5) NOT NULL auto_increment, #Ausreichend große Anzahl an Teams möglich
team VARCHAR(20),
spiel_id INT(2) NOT NULL,
spiel_typ INT(1), #für 5 spieltypen
premium_account INT(1), #1 = ja, 0 = nein
liga INT(2),
primary key(team_id),
foreign key(spiel_id) references spiel (spiele_id)) ENGINE = InnoDB;
create table team_member(member_id INT(10) NOT NULL,
team_id INT(5) NOT NULL,
memberlevel INT(1), #0 = member, 1 = leader
memberstatus INT(1), #0 = inaktiv, 1 = aktiv
foreign key(member_id) references phpbb_users (user_id),
foreign key(team_id) references team(team_id)) ENGINE = InnoDB;
create table ergebnisse(ergebnis_id INT(10) NOT NULL auto_increment,
team1 INT(5) NOT NULL,
team2 INT(5) NOT NULL,
ergebnis INT(1), #1 = gewinn, 0 = unentschieden
bestaetigt INT(1), #0 = nein, 1 = ja
primary key(ergebnis_id),
foreign key(team1) references team(team_id),
foreign key(team2) references team(team_id)) ENGINE = InnoDB;
create table clan(clan_id INT(5) NOT NULL auto_increment,
superleader INT(10) NOT NULL,
clan VARCHAR(20),
logo VARCHAR(100),
primary key(clan_id),
foreign key(superleader) references phpbb_users (user_id)) ENGINE = InnoDB;
create table team_clan(team_id INT(5) NOT NULL,
clan_id INT(5) NOT NULL,
foreign key(team_id) references team(team_id) ON DELETE CASCADE,
foreign key(clan_id) references clan(clan_id) ON DELETE CASCADE) ENGINE = InnoDB;
create table spiel_typ(spiel_typ_id INT(1) NOT NULL auto_increment,
spiel_typ CHAR(20),
primary key(spiel_typ_id)) ENGINE = InnoDB;
Code:
create table team_clan(team_id INT(5) NOT NULL,
clan_id INT(5) NOT NULL,
foreign key(team_id) references team(team_id) ON DELETE CASCADE,
foreign key(clan_id) references clan(clan_id) ON DELETE CASCADE) ENGINE = InnoDB;
Dafür benötige ich bekanntlicher Weise die innodb...
Mein Problem ist nun wenn ich als engine innodb angeben, (wie hier überall gemacht) bekomme ich in den relationen, in denen ich einen foreign key angebe (z.B. in team) immer eine fehlermeldung:
Can't create table '.\bundesliga\team.frm' (errno: 150)
Ich finde einfach den Fehler nicht.
P.S.
Code:
create table team_member(member_id INT(10) NOT NULL,
team_id INT(5) NOT NULL,
memberlevel INT(1), #0 = member, 1 = leader
memberstatus INT(1), #0 = inaktiv, 1 = aktiv
foreign key(member_id) references phpbb_users (user_id),
foreign key(team_id) references team(team_id)) ENGINE = InnoDB;
Vielen Danke schonmal im Vorraus.
R3van