劃重點:
1 被約束的表稱為副表,約束別人的表稱為主表,外來鍵設定在副表上的。
2 主表被參考的字段通常都設定為主鍵
3 當有外來鍵約束的時候,新增資料的順序:先加主表,再新增副表的資料
4 當有外來鍵約束的時候,修改資料的順序:先修改副表,再修改主表的資料
5 當有外來鍵約束的時候,刪除資料的順序:先刪除副表,再刪除主表的資料
級聯操作
當有外來鍵約束的時候,必須先修改或刪除副表中的所有關聯資料,才能修改或刪除主表!但是,我們希望直接修改或刪除主表資料,從而影響副表資料,這時候,我們就用到了級聯操作,只需要在副表中新增一句:
on update cascade
如下圖:
個人**:
MySQL資料庫之主表與從表
域完整性 引用完整性 自定義完整性 建立主表 drop table if exists stuinfo create table stuinfo id tinyint primary key,name varchar 20 engine innodb 建立從表,新增外來鍵 drop table if...
MySQL中 與 的區別
將傳入的資料都當成乙個字串,會對自動傳入的資料加乙個雙引號。如 order by user id 如果傳入的值是111,那麼解析成sql時的值為order by 111 如果傳入的值是id,則解析成的sql為order by id 將傳入的資料直接顯示生成在sql中。如 order by use r...
表級鎖的mysql讀寫 Mysql的表級鎖
我們首先需要知道的乙個大前提是 mysql的鎖是由具體的儲存引擎實現的。所以像mysql的預設引擎myisam和第三方外掛程式引擎 innodb的鎖實現機制是有區別的。可根據不同的場景選用不同的鎖定機制。mysql有三種級別的鎖定 表級鎖定 頁級鎖定 行級鎖定 一 定義 每次鎖定的是一張表的鎖機制就...