当前位置:数据库 > MySQL >>

MYSQL 有高手能具体举例使用外键,当一个表删除一列,另一个表也删除一列吗?

答案:这个问题的关键是级联删除, 正常情况下,如果主表的键被从表引用时,是不能删除主表或者是删除,更改主表中被引用的内容 这时就会用到级联, 常用的有级联删除,级联置空 这两个级联声明要在创建外键引用的时候声明就可以了: 下面举例说明: 表1: user1 id name password 表2: manager id name role userid ==>引用自user1的id字段 sql:语句:create table user1(id int, name char(2), password(20)); 关键是从表的写法: create table manager (id int , name char , role .. , user id references user1(id) on delete set null 要在外键引用时跟上on delete set null 或者 on delete cascade 级联删除
其他:外键的概念是对应于记录,而不是字段
也就是定义了外键,而且设置了级联更新,如果删除了主表的一条记录,那外键表的对应记录也会自动删除。 同意楼上的!或者你没有主外键关系,可以删除操作两遍。 一般别用外键,用程序去控制数据的增删。不然在维护期很麻烦 参考资料为  MySQL 外键约束 的例子

包含 默认的方式、DELETE CASCADE 方式、UPDATE CASCADE方式、SET NULL方式

上一个:mysql创建数据库问题!
下一个:请问mysql 数据库 如何还原 .bak 文件啊? 命令提示符该怎么操作啊?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,