• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

MYSQL und referentielle Integrität

Status
Für weitere Antworten geschlossen.

Break

Neues Mitglied
Hi, ich hab 2 Tabellen wobei eine einen Fremdschlüssel drin hat.
Ich hab mit alter table den FK hinzugefügt. Aber bei einen Test konnte ich einen Datensatz hinzufügen wo ich einen FK angegeben der in der andere Tabelle gar nicht existiert.

Die Tabellen heißen bei mir one und two, beide haben einen Primärschlüssel namens "id" und two hat noch den Fremdschlüssel "one_id" der sich auf den Primärschlüssel von one beziehen soll.

Hier mein alter table:

Code:
ALTER TABLE two
    ADD CONSTRAINT fk_one_two FOREIGN KEY (one_id)
    REFERENCES  one(id)
    ON DELETE NO ACTION
    ON UPDATE CASCADE
 
Bei den meisten MySQL Engines werden Fremdschlüssel ignoriert. Probiers doch mal mit PostgreSQL. Bei bplaced.net z.B. bekommst du einen gratis Webspace mit PHP, MySQL und PostgreSQL. Und du kannst es natürlich lokal testen.
 
Eine direkte beziehung zwischen Tabellen aufzubauen, klappt in MySQL nur wenn du als Tabellen Engine InnoDB auswählst.
Diese Datenbankengine ist jedoch nicht grad die schnellste und leider oft deaktiviert.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben