如下代码,请问这句Mysql SQL语句是什么意思呢?如何理解?

ALTER TABLE `albums` ADD CONSTRAINT `genre_inter_relational_constraint` FOREIGN KEY ( `genre_id` ) REFERENCES `genres` ( `id` ) ON DELETE CASCADE ON UPDATE CASCADE ;

阿晨1998
浏览 206回答 2
2回答

qq_遁去的一_1

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

呼如林

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操作的时候的事情了
打开App,查看更多内容
随时随地看视频慕课网APP