mysql und foreign keys

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/mysql_und_foreign_keys_155675/page_1 - zur Vollversion wechseln!


d3ft0n3 schrieb am 02.01.2006 um 23:15

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?


fresserettich schrieb am 02.01.2006 um 23:19

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


d3ft0n3 schrieb am 02.01.2006 um 23:58

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?


Bodominjaervi schrieb am 03.01.2006 um 12:50

MySQL macht kein CHECK um zu prüfen, ob der FK existiert.

http://dev.mysql.com/doc/refman/4.0...reign-keys.html


d3ft0n3 schrieb am 03.01.2006 um 14:45

Zitat von LakeBodom
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 keys
http://dev.mysql.com/doc/refman/4.0...onstraints.html
hmmm, wie's aussieht muss ich da einen workaround im php schreiben, der beim einfügen alle parent-elemente durchläuft :rolleyes:




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025