Mysql-Befehl um Kardinalitäten zu ignorieren?

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
doca82
User
Beiträge: 48
Registriert: Mittwoch 16. September 2009, 19:39
Wohnort: Berlin

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ß
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

doca82 hat geschrieben:Hallo,
gibt es in mysql einen Befehl um Kardinalitäten zu ignorieren? Hab da bisher nichts gefunden...
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.
Ich will Dummys in eine Datenbank eintragen, die Tabellen mit hohen Kardinalitäten haben...
Du meinst sicherlich Fremdschlüsseln?
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...
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? ;-)

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.
doca82
User
Beiträge: 48
Registriert: Mittwoch 16. September 2009, 19:39
Wohnort: Berlin

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
Antworten