欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql外碼代碼

錢諍諍2年前10瀏覽0評論

MySQL中外碼(外鍵)是用來保持數據一致性和完整性的重要機制。本文將介紹在MySQL中如何創建和使用外碼。

要創建外碼,需要在建表語句中使用FOREIGN KEY關鍵字,指定參照表和參照列:

CREATE TABLE orders (
order_id int NOT NULL,
product_id int NOT NULL,
customer_id int NOT NULL,
PRIMARY KEY (order_id),
FOREIGN KEY (product_id) REFERENCES products(product_id),
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);

上面的代碼中,我們創建了一個名為orders的表,其中包含三個列——order_id、product_id和customer_id。order_id列被指定為主鍵,product_id和customer_id列被指定為外鍵,參照了products表和customers表中的product_id和customer_id列。

在使用外碼時,請注意幾個重要的事項:

  • 參照表和當前表必須使用同一種存儲引擎。
  • 參照表和當前表必須使用同一種字符集和排序規則。
  • 參照列必須是一個唯一鍵或主鍵。
  • 刪除參照表中的行時,有兩種處理方式:級聯刪除、置空。級聯刪除會自動刪除當前表中關聯的行,置空則會將當前表中關聯的行的外鍵值設置為NULL。

下面是一個示例,說明當參照表中的行被刪除時,當前表中外鍵的處理方式:

CREATE TABLE products (
product_id int PRIMARY KEY,
product_name varchar(50)
);
CREATE TABLE orders (
order_id int NOT NULL,
product_id int NOT NULL,
PRIMARY KEY (order_id),
FOREIGN KEY (product_id) REFERENCES products(product_id) ON DELETE CASCADE
);
INSERT INTO products VALUES (1, 'product1');
INSERT INTO orders VALUES (1, 1);
DELETE FROM products WHERE product_id = 1;
SELECT * FROM orders;

上面的代碼中,我們創建了一個名為products的表和一個名為orders的表。orders表中的product_id列參照了products表中的product_id列,并且設置了ON DELETE CASCADE選項。接著我們向products表中插入了一個行,然后向orders表中插入了一個行。最后,我們刪除了products表中的這個行,再查詢orders表中的內容。結果如下:

Empty set (0.00 sec)

查詢結果為空,這是因為我們在刪除products表中的行時,設置了ON DELETE CASCADE選項,所以orders表中的關聯行也被自動刪除了。