2017-08-02 1 views
0

Was passiert eigentlich, wenn FOREIGN_KEY_CHECKS=0, dann fügen wir einige ungültige Zeilen mit, oder fügen Sie einen Fremdschlüssel zu einer Tabelle dann zurückgesetzt FOREIGN_KEY_CHECKS=1 während einige Zeilen ungültige Daten haben?MySQL Was passiert, wenn SET FOREIGN_KEY_CHECKS = 1 in einer Tabelle mit ungültigen Daten zurückgesetzt wird?

Wird der Index einfach ignoriert? Wird alles normal funktionieren und es wird einfach keine Beziehung geben?

Meine Vermutung ist, dass sich nichts ändern wird, aber wenn wir versuchen, die Zeile zu bearbeiten und zu speichern, wird ein Fehler auftauchen. Ist das richtig? Ich kann das in den Dokumenten nicht wirklich bestätigen.

EDIT:
ich genau wissen wollen, ob etwas unter der Oberfläche gebrochen werden könnte. Die Daten könnten beim Betrachten der Tabelle in Ordnung erscheinen, aber ich bin mir nicht sicher, ob etwas irgendwo fehlen würde. Ich glaube, dass Fremdprüfungen nur durchgeführt werden, wenn Einfügungen/Löschungen/Aktualisierungen ausgeführt werden, aber ich mache mir Sorgen, dass etwas anderes, von dem ich nichts weiß, während dieser Operationen unterbrochen werden könnte.

Ich frage nur um Rat von Leuten, die mehr Know-how als ich um Gottes Willen haben. Ich wusste nicht, dass das nach dem Mond fragen würde.

+0

Ich meine intern @fancyPants .. Nicht sicher, ob MySQL hat eine Art von Zeigern oder Low-Level-Variablen bei der Verwendung von Fremdschlüsseln – NaturalBornCamper

+0

Probieren Sie es aus und Sie werden sehen. So einfach ist das. – fancyPants

+0

ICH VERSUCHTE BEREITS !!! Ich weiß, was mit den Reihen passiert, sie bleiben gleich, ich frage, was passiert, INTERN, wenn es irgendeine Art von Zeigern gibt – NaturalBornCamper

Antwort

0

Die einzige Möglichkeit, etwas zu bemerken, ist, wenn Ihre Datenintegrität beschädigt ist, zum Beispiel wenn Sie Kinder ohne Eltern haben. Eine INSERT-Anweisung könnte fehlschlagen oder etwas. Nichts anderes passiert.

Verwandte Themen