webForumDet fria alternativet
Logga in / Bli medlem

Problem med att skapa INNODB-tabell

Databaser & SQL

2 svar · 251 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?

372 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
122 ms — deklarationer (db)
119 ms — hämta statistik (db)
125 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)