webForumDet fria alternativet

Foreign key problem

2 svar · 465 visningar · startad av Sabotnick

SabotnickMedlem sedan feb. 200377 inlägg
#1

Jag har följande tabeller:

CREATE TABLE `bc_text` (
  `Text_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
Massa annat här
  PRIMARY KEY (`Text_ID`)
) ENGINE=InnoDB;

CREATE TABLE `bc_point` (
  `Point_ID` int(4) NOT NULL AUTO_INCREMENT,
Massa annat här
  PRIMARY KEY (`Point_ID`)
) ENGINE=InnoDB;

CREATE TABLE bc_point_text (
  Point_ID int(4) NOT NULL,
  Text_ID int(10) NOT NULL,
  Point_length datetime NOT NULL,
  PRIMARY KEY (Point_ID,Text_ID)
) ENGINE=InnoDB;

Nu vill jag skapa foreign key i den sista tabellen och där kör jag följande:

ALTER TABLE bc_point_text
  ADD FOREIGN KEY (Point_ID) REFERENCES bc_point (Point_ID) ON DELETE CASCADE;
ALTER TABLE bc_point_text
  ADD FOREIGN KEY (Text_ID) REFERENCES bc_text (Text_ID) ON DELETE CASCADE;

Den första kör igenom men inte den andra. Varför kan någon förklara det för mig. Känner lite att jag inte har fattat det här med foreign key. Kör MySQL som databas.

Tusen tack för all hjälp!

nitro2k01Medlem sedan aug. 20037 630 inlägg
#2

Det beror på att de två Text_ID är av olika typ, dvs att den ena är unsigned.

SabotnickMedlem sedan feb. 200377 inlägg
#3

Aha. där ser man :) Tack så mycket!

Genererad på 382 ms · cache AV · v20260730165559-full.f96bc7eb