Heim >Datenbank >MySQL-Tutorial >So schreiben Sie Fremdschlüsseleinschränkungen beim Erstellen einer Tabelle in MySQL
Die Syntax der MySQL-Fremdschlüsseleinschränkung lautet: ALTER TABLE child_table ADD FOREIGN KEY (foreign_key_column) REFERENCES parent_table (primary_key_column), wodurch die Integrität der Beziehung zwischen den beiden Tabellen sichergestellt wird. Zu den Funktionen von Fremdschlüsseleinschränkungen gehören: 1. Datenintegrität: Die eingeschränkte untergeordnete Tabellenreferenz muss in der übergeordneten Tabelle vorhanden sein. 2. Kaskadenaktualisierung: Automatische Aktualisierung aller Referenzen, wenn sich der Primärschlüsselwert der übergeordneten Tabelle ändert Tabellenprimärschlüssel Alle Referenzen werden automatisch gelöscht, wenn ein Wert gelöscht wird.
MySQL-Syntax für Fremdschlüsseleinschränkungen
In MySQL werden Fremdschlüsseleinschränkungen verwendet, um die Integrität der Beziehung zwischen zwei Tabellen sicherzustellen. Die Syntax lautet wie folgt:
<code>ALTER TABLE child_table ADD FOREIGN KEY (foreign_key_column) REFERENCES parent_table (primary_key_column)</code>
Wobei:
child_table
: Die Tabelle, zu der Fremdschlüsseleinschränkungen hinzugefügt werden müssen. child_table
:需要添加外键约束的表。foreign_key_column
:child_table
中引用 parent_table
主键的列。parent_table
:被引用的表,其主键用于定义约束。primary_key_column
:parent_table
中被引用的主键列。外键约束的作用
外键约束有助于确保以下事项:
示例
假设我们有两个表:orders
和 order_items
:
<code>CREATE TABLE orders ( order_id INT NOT NULL AUTO_INCREMENT, customer_id INT NOT NULL, PRIMARY KEY (order_id) ); CREATE TABLE order_items ( item_id INT NOT NULL AUTO_INCREMENT, order_id INT NOT NULL, product_id INT NOT NULL, PRIMARY KEY (item_id), FOREIGN KEY (order_id) REFERENCES orders (order_id) );</code>
在此示例中,order_items
表的外键约束确保了每个 order_id
值在 orders
表中都存在。这意味着我们无法在 order_items
表中插入没有在 orders
表中存在的 order_id
foreign_key_column
: Die Spalte in child_table
, die auf den Primärschlüssel von parent_table
verweist.
parent_table
: Die referenzierte Tabelle, deren Primärschlüssel zum Definieren von Einschränkungen verwendet wird. 🎜primary_key_column
: Die Primärschlüsselspalte, auf die in parent_table
verwiesen wird. 🎜🎜Rolle von Fremdschlüsseleinschränkungen🎜🎜🎜Fremdschlüsseleinschränkungen tragen dazu bei, Folgendes sicherzustellen: 🎜🎜🎜🎜Datenintegrität: 🎜Einfügungen in untergeordnete Tabellen verhindern, die in der übergeordneten Tabelle nicht vorhanden sind. 🎜🎜Kaskadierende Aktualisierung: 🎜Wenn sich der Primärschlüsselwert in der übergeordneten Tabelle ändert, werden die Werte in allen referenzierten untergeordneten Tabellen automatisch aktualisiert. 🎜🎜Kaskadierendes Löschen: 🎜Wenn der Primärschlüsselwert in der übergeordneten Tabelle gelöscht wird, werden alle referenzierten Werte in der untergeordneten Tabelle automatisch gelöscht. 🎜🎜Beispiel🎜🎜🎜Angenommen, wir haben zwei Tabellen: orders
und order_items
: 🎜rrreee🎜In diesem Beispiel ist The Foreign Die Schlüsseleinschränkung für die Tabelle „order_items“
stellt sicher, dass jeder Wert für „order_id
“ in der Tabelle „orders
“ vorhanden ist. Das bedeutet, dass wir keinen order_id
-Wert in die Tabelle order_items
einfügen können, der in der Tabelle orders
nicht vorhanden ist. 🎜Das obige ist der detaillierte Inhalt vonSo schreiben Sie Fremdschlüsseleinschränkungen beim Erstellen einer Tabelle in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!