Heim >Datenbank >MySQL-Tutorial >Cascade, NO ACTION, Restrict, SET NULL in den MySQL-Fremdschlüsseleinstellungen
1. Mehrere Modi
Kaskadenmodus
Beim Aktualisieren/Löschen von Datensätzen in der übergeordneten Tabelle werden die übereinstimmenden Datensätze der untergeordneten Tabelle gleichzeitig aktualisiert/löschen
. set null method
Wenn Sie Datensätze in der übergeordneten Tabelle aktualisieren/löschen, setzen Sie die Spalte des übereinstimmenden Datensatzes in der untergeordneten Tabelle auf Null. Bitte beachten Sie, dass die Fremdschlüsselspalte der untergeordneten Tabelle nicht sein darf null
Kein Aktionsmodus
Wenn in der untergeordneten Tabelle übereinstimmende Datensätze vorhanden sind, sind Aktualisierungs-/Löschvorgänge für die entsprechenden Kandidatenschlüssel der übergeordneten Tabelle nicht zulässig
. Der Einschränkungsmodus
ist dasselbe wie „Keine Aktion“, wobei beide Fremdschlüsseleinschränkungen sofort prüfen
Standardmodus festlegen
Wenn sich die übergeordnete Tabelle ändert, listet die untergeordnete Tabelle den auf einen Standardwert gesetzten Fremdschlüssel auf, aber Innodb kann ihn nicht erkennen
2 In Bezug auf die Haupttabelle, Fremdschlüssel und Slave-Tabellen
Die Identität einer Person ist einzigartig, aber sie kann viele Dinge tun. Die Identität ist die Master-Tabelle, die Tatsache, dass sie in der Slave-Tabelle gespeichert ist, und die ID in der Slave-Tabelle ist die Identität des Benutzers, die der Fremdschlüssel ist der Mastertisch.
Zum Beispiel Kundentabelle und Produkttabelle
Ein Kunde kann mehrere Produkte kaufen. Die zugehörige Identität ist die Nummer oder der Name des Kunden.
Der Fremdschlüssel wird in der Produkttabelle festgelegt.
Zusammenfassung: Die Primärschlüsseltabelle ist die Tabelle, auf die verwiesen wird, und die Fremdschlüsseltabelle ist die Tabelle, die auf andere Tabellen verweist.