PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL 5 foreign keys Problem



tr0nix
08.08.2007, 09:20
Hallo zusammen

ACHTUNG PROBLEM HAT SICH ERLEDIGT... packagescript war nicht engine=innodb! Habs nach dem Absenden bemerkt :))

Ich habe 3 Tables: script, package und packagescript. Die N:N Relation zwischen script & package handle ich über die Tabelle packagescript ab, welche nur die 2 Fremdschlüssel als Attribute hat.

Mein Ziel ist es nun, dass sich in packagescript nur primary-Keys der Tabellen package bzw. script eintragen lassen. Dazu habe ich folgende Tabellen mit "foreign key" erstellt:


create table script (
`scri_id` int unsigned not null primary key auto_increment,
`scri_name` tinytext not null,
`scri_description` tinytext not null,
`scri_file` tinytext not null
) ENGINE=INNODB;



create table package (
`pack_id` int unsigned not null primary key auto_increment,
`pack_component` tinytext null, `pack_description` text not null,
`pack_shortname` tinytext not null, `pack_longname` tinytext not null, `pack_version_major` tinyint not null, `pack_version_minor` tinyint not null
) Engine=INNODB;



create table packagescript (
`ref_scri_id` int unsigned not null,
`ref_pack_id` int unsigned not null,
foreign key (ref_scri_id) references script (scri_id) on delete cascade,
foreign key (ref_pack_id) references package (pack_id) on delete cascade,
primary key (`ref_scri_id`, `ref_pack_id`)
);

Leider funktioniert das ganze nicht. script & package sind aktuell leer und ich kann irgendwelche Zahlen in packagescripts inserten:

mysql> insert into packagescript values ('4', '19');
Query OK, 1 row affected (0.00 sec)

Weiss jemand was da falsch ist?