URL: https://www.overclockers.at/coding-stuff/mysql_und_foreign_keys_155675/page_1 - zur Vollversion wechseln!
ich muss eine kleine datenbankanwendung schreiben, werd aber aus den foreign keys nicht so recht schlau...
ich verwende phpmyadmin, jedoch nur zum betrachten meiner resultate, das erstellen der datenbank mache ich in einem eigenen php-script, was ja auch einwandfrei funktioniert hat, nur werden mir im phpmyadmin die foreign keys nicht angezeigt...
die foreign keys habe ich nach folgendem schema angegeben:
CREATE TABLE parent (
'parent_id' int(3),
'parent_name' varchar(30),
PRIMARY KEY (vater_id)
) TYPE = InnoDB;
CREATE TABLE child (
'child_id' int(3),
'parent_id' int(3),
'child_name' varchar(30),
PRIMARY KEY (child_id),
FOREIGN KEY (parent_id) REFERENCES parent(parent_id)
) TYPE = InnoDB;
mache ich irgend einen fehler oder werden die foreign keys im phpmyadmin einfach nicht angezeigt?
hast eh die 5er version weil vorher werden sie nicht unterstützt iirc
sonst geh über die console rein und als dir die ganzen keys mal anzeigen
php ist version 5.0.4, sollte also kein problem sein
wenn ich mir die tabelle mit 'DESCRIBE bla;' beschreiben lasse, steht in der key-spalte 'MUL'...
stimmt das nun? beim recherchieren bekam ich für MUL bloß wirre beschreibungen von wegen "index, der über mehrere spalten geht blablabla" oder im mysql-manual "The MUL value indicates that multiple occurrences of a given value are allowed within the column.", jedoch kein wort von foreign keys...
edit:
k, es stimmt nicht...
ich kann datensätze einfügen auch wenn der betroffene foreign key nicht existiert...
hat irgendjemand vorschläge?
MySQL macht kein CHECK um zu prüfen, ob der FK existiert.
http://dev.mysql.com/doc/refman/4.0...reign-keys.html
deshalb benutz ich ja auch innodb und indiziere die elemente als foreign keysZitat von LakeBodomMySQL macht kein CHECK um zu prüfen, ob der FK existiert.
http://dev.mysql.com/doc/refman/4.0...reign-keys.html
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025