Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL InnoDB-Einschränkung funktioniert nicht

Wenn

angerufen wurde
SET FOREIGN_KEY_CHECKS=0;

dann werden FK-Prüfungen ausgeschaltet. Wer weiß, vielleicht ist das gerade der Zustand Ihres Systems. Lassen Sie sie mit

einschalten
SET FOREIGN_KEY_CHECKS=1;

Beachte das Folgende. Durch einfaches Wiedereinschalten der Überprüfungen wird die referenzielle Integrität nicht erneut validiert. Man braucht ALTER TABLE dafür.

Das bloße Veröffentlichen eines Schemas sagt wenig darüber aus, dass Sie geschützt sind.

Das heißt, ich könnte meine Einschränkungen ausschalten, das System verwenden, einige Daten löschen, LOAD DATA INFILE ausführen (kurz gesagt, meine Daten durcheinander bringen), dann mit einem Schema zu Stackoverflow rennen und sagen:"Meine Güte, wie ist das passiert". P>

Dabei spielt es keine Rolle, in welchem ​​Zustand sich Ihr System gerade befindet. Es ist wichtig, was es damals war.