2 回答

TA贡献1725条经验 获得超8个赞
修改表 albums,为他添加一个外键约束.这个约束建在本表的genre_id列上. 参考的是genres表的id列.
这个约束的作用是,保证albums表的genre_id列必须包含在genres表的id列中,要不然插入数据就会报错.
下面的:
ON DELETE CASCADE 如果被引用表的某id被删除时,关联删除albums表中genre_id列与其相等的记录.
ON UPDATE CASCADE 如果被引用表的某id被更新时,同时更新albums表中genre_id列与其相等的记录.

TA贡献1798条经验 获得超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` ) 表示 关联的主表对象是genres表的id列
ON DELETE CASCADE ON UPDATE CASCADE
==》
表示你外键所影响的一些操作(主表操作对你装个表的影响) 比如
ON DELETE CASCADE 就是当你的主表genres进行删除操作的时候 如果删除的列中的id在你建立外键的那个表里存在相同ID 那么这个从表的相关记录也要删除
ON UPDATE CASCADE 也一样 就是update操作的时候的事情了
添加回答
举报