MySQL 外來鍵 froeign key
外來鍵約束對子表的含義:
如果在父表中找不到候選鍵,則不允許在子表上進行insert/update外來鍵約束對父表的含義:
在父表上進行update/delete以更新或刪除在子表中有一條或多條對應匹配行的候選鍵時,父表的行為取決於:在定義子表的外來鍵時指定的on update/on delete子句No Action/RESTRICT:限制,立即檢查外來鍵約束 ,如果子表中有匹配的記錄,則不允許對父表對應候選鍵進行update/delete操作
- Cascade:級聯操作,從表中的值跟隨主表發生變化。
- Set Null:在父表上update/delete記錄時,將子表上匹配記錄的列設為null ,要注意子表的外來鍵列不能為not null
新問題
用外來鍵約束的兩個表,如果從表數刪除,主表受不受影響?
- 事實上不受影響。
- 這問題真白痴。
參考
轉載
相關推薦
MySQL 外來鍵 froeign key
外來鍵約束對子表的含義: 如果在父表中找不到候選鍵,則不允許在子表上進行insert/update 外來鍵約束對父表的含義: 在父表上進行update/delete以更新或刪除在子表中有一條或多條對應匹配行的候選鍵時,父表的行為取決於:在定義子表的外
Mysql 外來鍵 FOREIGN KEY
FOREIGN KEY 外來鍵 (重點) 1. 針對從表設定外來鍵約束 2. 資料的完整性 &
mysql 外來鍵foreign key相關知識及新增刪除外來鍵 sql語句
外來鍵保證資料的完整性和一致性,被參照的表是主表,外來鍵所在欄位的表是子表,依賴於資料庫中已存在的表的主鍵。外來鍵的作用是建立子表與父表的關聯關係,是約束父表和子表, 1.父表和子表儲存引擎一樣且只能為InnoDB,禁止使用臨時表, 2.外來鍵列和參照列必須具有相似的資料型別,其中數字的長度
MYSQL外來鍵(Foreign Key)的建立及使用
在MySQL 3.23.44版本後,InnoDB引擎型別的表支援了外來鍵約束。 外來鍵的使用條件: 1.兩個表必須是InnoDB表,MyISAM表暫時不支援外來鍵(據說以後的版本有可能支援,但至少目前不支援); 2.外來鍵列必須建立了索引,MySQL 4.1.2以後的版本
mysql外來鍵(FOREIGN KEY)的簡單使用
一、基本概念 1、MySQL中“鍵”和“索引”的定義相同,所以外來鍵和主鍵一樣也是索引的一種。不同的是MySQL會自動為所有表的主鍵進行索引,但是外來鍵欄位必須由使用者進行明確的索引。用於外來鍵關係的欄位必須在所有的參照表中進行明確地索引,InnoDB不能自動地建立索引
mysql 外來鍵 級聯刪除 級聯更新:Cannot delete or update a parent row: a foreign key constraint fails (`db1`.grade
報錯:Cannot delete or update a parent row: a foreign key constraint fails。 原因:表關聯生成的強制約束問題,在刪除的時候回檢查表之間的關聯關係,從而導致無法刪除,更新 解決辦法: SET foreign_key_c
MySql外來鍵關聯Foreign key及error 1452
文章出處:http://xuehu2009.iteye.com/blog/571138 今天往MySQL的一張表裡插記錄時,出現一個錯誤提示: ERROR 1452 : Cannot add or update a&
MySql 外來鍵約束 FOREIGN KEY REFERENCES 之 空、RESTRICT、NO ACTION、CASCADE、SET NULL 等型別分析和作用解讀
主表,從表【MySql】 空、RESTRICT、NO ACTION 刪除:從表記錄不存在時,主表才可以刪除。刪除從表,主表不變 更新:從表記錄不存在時,主表才可以更新。更新從表,主表不變 CASCADE 刪除:刪除主表時自動刪除從表。刪除從表,主表不變 更新:更新主表時自
mysql 外來鍵(foreign key)的詳解和例項
外來鍵具有保持資料完整性和一致性的機制,對業務處理有著很好的校驗作用。 ============================白話文簡介================================= 簡單來說,若profile表的uid列作為外來鍵user_profile,參考的主表的列(refere
Mysql-外鍵foreign key
incr foreign 不能 作用 for 新增 匹配 否則 必須 1、定義:如果一張表中有一個字段指向另一張表的主鍵,就子表中將該主鍵字段叫做外鍵。 一張表中可存在多個外鍵 2、外鍵的作用 保持數據的一致性、完整性 a、對子表(外鍵所在的表)的作用:子表
MySQL外來鍵新增與刪除
ALTER table erp_bom_detail ADD CONSTRAINT `FK_bom_detail` FOREIGN KEY (`bom_id`) REFERENCES erp_bom(`bom_id`) ALTER 的是子表 alter t
MySQL(外來鍵變種)
day58 外來鍵的變種 a. 使用者表和部門表
mysql外來鍵理解
一個班級的學生個人資訊表: 什麼是外來鍵 在設計的時候,就給表1加入一個外來鍵,這個外來鍵就是表2中的學號欄位,那麼這樣表1就是主表,表2就是子表。 外來鍵用來幹什麼 為了一張表記錄的資料不要太過冗餘。 這和軟體project的模組
mysql 外來鍵 cascade
1 . cascade方式在父表上update/delete記錄時,同步update/delete掉子表的匹配記錄 2. set null方式在父表上update/delete記錄時,將子表上匹配記錄的列設為null要注意子表的外來鍵列不能為not null &n
Day055--MySQL--外來鍵的變種,表與表的關係,單表查詢,多表查詢, 內連線,左右連線,全外連線
表和表的關係 ---- 外來鍵的變種 * 一對多或多對一 多對多 一對一 如何找出兩張表之間的關係 分析步驟: #1、先站在左表的角度去找 是否左表的多條記錄可以對應右表的一條記錄,如果是,則證明左表的一個欄位foreign key 右表一個欄位(通常是id) #2、再站在右表的角度去找 是否右表
Mysql外來鍵約束之CASCADE、SET NULL、RESTRICT、NO ACTION
Mysql中有目前只有InnoDB引擎支援外來鍵約束,InnoDB中外來鍵約束定義的語法如下: ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_NAME] (index_col_name, ...
MySQL外來鍵約束_ON DELETE CASCADE/ON UPDATE CASCADE
MySQL通過外來鍵約束實現資料庫的參照完整性,外來鍵約束條件可在建立外來鍵時指定,table的儲存引擎只能是InnoDB,因為只有這種儲存模式才支援外來鍵。 外來鍵約束條件有以下4種: (1)restrict方式:同no action,都是立即檢查外來鍵約束; -
MySQL外來鍵約束
刪除時屬性,可能取值如上圖為:預設(RESTRICT),RESTRICT,No ACTION,CASCADE,SET NULL屬性。 當取值為No Action或者Restrict時,則當在父表(即外來鍵的來源表)中刪除對應記錄時,首先檢查該記錄是否有對應外
Mysql外來鍵得使用
一、基本概念 1、MySQL中“鍵”和“索引”的定義相同,所以外來鍵和主鍵一樣也是索引的一種。不同的是MySQL會自動為所有表的主鍵進行索引,但是外來鍵欄位必須由使用者進行明確的索引。用於外來鍵關係的欄位必須在所有的參照表中進行明確地索引,InnoDB不能自動地建立索引。 2、外來鍵可以是一
MySQL外來鍵約束的禁用與啟用命令
MySQL外來鍵約束的禁用與啟用: MySQL外來鍵約束是否啟用是通過一個全域性變數標示的: FOREIGN_KEY_CHECKS=0; 禁用狀態 FOREIGN_KEY_CHECKS=1; 啟用狀態 檢視當前FOREIGN_KEY_CHECKS的值可用如下命令: SELECT