Hallo,
gibt es in mysql einen Befehl um Kardinalitäten zu ignorieren? Hab da bisher nichts gefunden...
Ich will Dummys in eine Datenbank eintragen, die Tabellen mit hohen Kardinalitäten haben...
Das geht bei mir nicht, weil die Constraints der Zeile mit den Infos zu den Kardinalitäten nicht mitmacht, weil sie bereits das Vorhandensein anderer Daten voraussetzt, was ja später auch gut so ist...
Gruß
Mysql-Befehl um Kardinalitäten zu ignorieren?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Kardinalitäten existieren imho eher implizit durch die Struktur einer Datenbank - auch wenn man sie in div. Modellierungssprachen als Ausgangspunkt zum DB-Design explizit angibt.doca82 hat geschrieben:Hallo,
gibt es in mysql einen Befehl um Kardinalitäten zu ignorieren? Hab da bisher nichts gefunden...
Du meinst sicherlich Fremdschlüsseln?Ich will Dummys in eine Datenbank eintragen, die Tabellen mit hohen Kardinalitäten haben...
Ich wüßte da nichts - was aber ja auch gut so ist, denn woher soll eine DB wissen, ob sie im Debug- oder Produktiveinsatz ist?Das geht bei mir nicht, weil die Constraints der Zeile mit den Infos zu den Kardinalitäten nicht mitmacht, weil sie bereits das Vorhandensein anderer Daten voraussetzt, was ja später auch gut so ist...

Die Lösung des Problems ist doch recht einfach: Trage eben auch in die Tabellen Dummy-Einträge ein, von denen die aktuelle Tabelle abhängt!
Als alternative Lösung: Entferne die Foreign-Key contraints und füge diese erst später wieder hinzu, wenn Du diese konkreten Tests abgeschlossen hast.
das mit dem Eintragen in der richtigen Reihenfolge werde ich probieren. Zum Löschen und wieder einfügen von FKs fühl ich micht noch nicht fit genug ;P
Mit Deinem Hinweis auf FKs fiel es mir wie Schuppen von den Augen:
so oder ähnlich soll das gehen;)
SET FOREIGN_KEY_CHECKS = 0;
SELECT @@FOREIGN_KEY_CHECKS;
SET FOREIGN_KEY_CHECKS = 1;
Gruß udn Danke
Mit Deinem Hinweis auf FKs fiel es mir wie Schuppen von den Augen:
so oder ähnlich soll das gehen;)
SET FOREIGN_KEY_CHECKS = 0;
SELECT @@FOREIGN_KEY_CHECKS;
SET FOREIGN_KEY_CHECKS = 1;
Gruß udn Danke