Problem med att skapa INNODB-tabell

Databaser & SQL

2 svar · 268 visningar · startad av Razofish

Medlem sedan sep. 2000780 inlägg
Trådstart#1

Vad är det för fel:

CREATE TABLE skapa_stuga (
  brid mediumint(8) NOT NULL,
  stugid smallint(5) NOT NULL,
  PRIMARY KEY  (brid,stugid), 
  FOREIGN KEY (brid) REFERENCES bokningsrad (brid) ON DELETE CASCADE,
  FOREIGN KEY (stugid) REFERENCES stuga (stugid) ON DELETE CASCADE
) TYPE=INNODB;

#1005 - Can't create table '.\as\skapa_stuga.frm' (errno: 150)

Men ändrar jag typ från INNODB till MYISAM fungerar det klockrent.

DBMS: MySQL 4.1.8

Medlem sedan dec. 200012 464 inlägg
#2

Mysql har några konstiga krav när man skapar foreign keys, t.ex.

In the referencing table, there must be an index where the foreign key columns are listed as the first columns in the same order.

Anledningen till att du inte får något fel om du använder Myisam är att i det fallet så ignoreras foreign keys fullständigt.

Medlem sedan sep. 2000780 inlägg
#3

Du vill inte förklara mha. lite kod?

254 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)