先舉個例子:
訂單表的客戶id號(Custom_id),
和客戶登記表的客戶id號(Cus_Id)建立關聯;
學習要點:
一,'客戶登記表'的 Cus_Id 字段,'必須為該表主鍵';
二,在已經建立外鍵約束的情況下,客戶登記表,無法 truncate清庫,也無法 drop, 可以用 delete刪除非關聯行記錄;(若先刪外鍵,即可 truncate 或者 drop)
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;
閱讀更多 你永遠得不到的小老弟 的文章