外來鍵造成的死鎖

2021-08-20 20:33:03 字數 298 閱讀 4091

在建表的過程中有部門,崗位,員工三個表,首先崗位表post的外來鍵department_id對應部門department的department_id欄位,可以說明這個崗位屬於哪個部門的,

另外員工表employee的post_id欄位對應post表的post_id欄位,這樣可以找到該員工的崗位資訊,以及部門資訊。最後打算在department表中加上外來鍵employee_id對應employee的employee_id欄位

這樣可以找到該部門的負責人的資訊,但是在建表的過程中會出現錯誤:cannot add or update a child row

innodb外來鍵造成的鎖定機制

innodb支援外來鍵,但是由於外來鍵,也會對innodb表增加鎖定機制 所有的外來鍵相關的操作都在資料更改時,比如檢查資料完整性 增加鎖定等 假設乙個表為parent,乙個表為child,parent通過id和child的parent id相連線 在乙個session中set autocommit...

間隙鎖的造成的死鎖

當我們用範圍條件而不是相等條件檢索資料,並請求共享或排他鎖時,innodb會給符合條件的已有資料記錄的索引項加鎖 對於鍵值在條件範圍內但並不存在的記錄,叫做 間隙 gap innodb也會對這個 間隙 加鎖,這種鎖機制就是所謂的間隙鎖 next key鎖 舉例來說,假如emp表中只有101條記錄,其...

mysql造成死鎖 如何在MySQL上造成死鎖

通過使用兩個會話,有很多帖子.從上面的第二篇文章複製的方法 首先,選擇乙個未使用的表名.我將使用test.innodb deadlock maker.以下是您需要執行的語句 create table test.innodb deadlock maker a int primary key engin...