MySQL 表外鍵約束的 2個要點

MySQL 表外鍵約束的 2個要點

先舉個例子:

訂單表的客戶id號(Custom_id),

和客戶登記表的客戶id號(Cus_Id)建立關聯;

MySQL 表外鍵約束的 2個要點

學習要點:

一,'客戶登記表'的 Cus_Id 字段,'必須為該表主鍵';

二,在已經建立外鍵約束的情況下,客戶登記表,無法 truncate清庫,也無法 drop, 可以用 delete刪除非關聯行記錄;(若先刪外鍵,即可 truncate 或者 drop)

MySQL 表外鍵約束的 2個要點

mysql

CREATE DATABASE Market;
USE Market;

CREATE TABLE Customers(
Cus_Id INT(11) PRIMARY KEY AUTO_INCREMENT,
Cus_Name VARCHAR(50),
Cus_Contact VARCHAR(50),
Cus_City VARCHAR(50),
Cus_Birth TIMESTAMP
)ENGINE=INNODB, DEFAULT CHARSET=utf8;

CREATE TABLE Orders(
Order_Id INT(11) PRIMARY KEY AUTO_INCREMENT UNIQUE,
Order_Time DATE,
Custom_id INT(11) NOT NULL,
CONSTRAINT fk1 FOREIGN KEY (Custom_id) REFERENCES Customers(Cus_Id)
)ENGINE=INNODB, DEFAULT CHARSET=utf8;

刪除訂單表 Orders的外鍵約束:

# ALTER TABLE Orders DROP FOREIGN KEY fk1;


分享到:


相關文章: