2 回答

TA貢獻1725條經(jīng)驗 獲得超8個贊
修改表 albums,為他添加一個外鍵約束.這個約束建在本表的genre_id列上. 參考的是genres表的id列.
這個約束的作用是,保證albums表的genre_id列必須包含在genres表的id列中,要不然插入數(shù)據(jù)就會報錯.
下面的:
ON DELETE CASCADE 如果被引用表的某id被刪除時,關(guān)聯(lián)刪除albums表中g(shù)enre_id列與其相等的記錄.
ON UPDATE CASCADE 如果被引用表的某id被更新時,同時更新albums表中g(shù)enre_id列與其相等的記錄.

TA貢獻1798條經(jīng)驗 獲得超3個贊
ALTER TABLE `albums` ADD CONSTRAINT `genre_inter_relational_constraint` FOREIGN KEY ( `genre_id` ) REFERENCES `genres` ( `id` ) ON DELETE CASCADE ON UPDATE CASCADE ;
總的意思就是給表加個外鍵約束
我來肢解下:
ALTER TABLE `albums`
==>要加約束的對象 albume表
ADD CONSTRAINT `genre_inter_relational_constraint
`==>
增加一個約束 名字叫 `genre_inter_relational_constraint`
FOREIGN KEY ( `genre_id` ) REFERENCES `genres` ( `id` )
===>
增加約束的類型 叫做FOREIGN KEY 就是外鍵的意思
括號里的( `genre_id` ) 表示約束作用的對象 genre_id 這個列
REFERENCES `genres` ( `id` ) 表示 關(guān)聯(lián)的主表對象是genres表的id列
ON DELETE CASCADE ON UPDATE CASCADE
==》
表示你外鍵所影響的一些操作(主表操作對你裝個表的影響) 比如
ON DELETE CASCADE 就是當(dāng)你的主表genres進行刪除操作的時候 如果刪除的列中的id在你建立外鍵的那個表里存在相同ID 那么這個從表的相關(guān)記錄也要刪除
ON UPDATE CASCADE 也一樣 就是update操作的時候的事情了
添加回答
舉報