Hoi,
ik ben innodb aan het testen ivm de mogelijkheid FK te gebruiken. Een
eerste test is ook gelukt, maar een andere test lukt niet.
Ik heb twee innodb tables aangemaakt:
CREATE TABLE `table1`
(
`Table1_id` int(11) unsigned NOT NULL
auto_increment,
`name` varchar(20) collate latin1_general_ci NOT
NULL,
PRIMARY KEY
(`Table1_id`),
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
COLLATE=latin1_general_ci;
CREATE TABLE `table2`
(
`Table2_id` int(11) unsigned NOT NULL
auto_increment,
`name_id` int(11) unsigned NOT
NULL,
`other_info_id` int(11) NOT
NULL,
`some_more` varchar(10) collate latin1_general_ci NOT
NULL,
PRIMARY KEY
(`Table2_id`),
KEY `name_id`
(`name_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
COLLATE=latin1_general_ci;
vervolgens wil ik met deze query een PK toevoegen:
alter table testinnodb.table2
add constraint table1_Table1_id_table2_name_id_fk
foreign key (name_id)
references table1(Table1_id)
on delete set null
on update cascade;
Dan krijg ik:
Error Code: 1005
Cant't create table '.\testinnodb\#sql-370_1.frm' (errno: 150)
Probleem is dat ik in staat moet zijn om bij bestaande tabellen een FK
te add-en, omdat ik een bestaande structuur moet aanpassen.
Iemand een idee waarom bovenstaande niet werkt? (versie 5.0.51a)
Groeten,
Matthijs

Likes:

Quote