建立好了關係字段(b表引用a表的主鍵)之後,為了保證關係字段資料的正確而新增的約束。
create table scores(
id int primary key auto_increment not null,
stuid int,
subid int,
score decimal(5,2), ! 一共5位數,小數部分佔2位
foreign key(stuid) references students(id),
foreign key(subid) references subjects(id)
);
後面兩句命令就是 引用外來鍵並且有約束。
此時,如果插入的資料的stuid不存在於學生表的id中,會提示錯誤!
在上面的操作中,我們保證了新增資料的一致性,那麼刪除資料時呢?如果我們在學生表中刪除了一名學生的資訊,那麼在成績表中,也應當對應刪除這名學生的成績。
外來鍵的級聯操作,做的就是這件事情。
可以在建立表時指定級聯操作,也可以在建立表後再修改外來鍵的級聯操作。
當然用邏輯刪除的話,也可以進行相關的操作。
級聯操作的型別有:
這4種操作都不怎麼樣,所以我們一般做邏輯刪除,多加乙個isdelete欄位來標註 是否被刪除。
12 Python 檔案處理
資料夾 得到當前工作目錄,即當前python指令碼工作的目錄路徑 os.getcwd 返回指定目錄下的所有檔案和目錄名 os.listdir 函式用來刪除乙個檔案 os.remove 刪除多個目錄 os.removedirs r c python 檢驗給出的路徑是否是乙個檔案 os.path.isf...
12 python基礎 函式
12.1 函式簡介一段具有特定功能的 可重用的語句組 函式規則 1.def 2.return 表示式 結束函式,不帶表示式的return相當於返回 none 作用 降低程式設計難度和 復用def 函式名 引數 引數是佔位符 函式體return 返回值 引數是輸入 函式體是處理 結果是輸出 ipo 函...
1 2 Python基礎語法
1.2.2 注釋 1.2.3 識別符號 1.2.4 變數 1.2.5 行與縮排 input 輸入 usr bin python3 str input 請輸入 print 你輸入的內容是 str 請輸入 hello python 你輸入的內容是 hello python print 輸出 usr bi...