Mysql外键约束怎么删除

记录一下碰到的问题。由于我是使用PowerDesigner来建mysql物理模型的,为了表与表之间的关系更加清楚,我给他们连线了。之后我就用它生成的SQL语句在navicat把表建出来,我看见没问题就直接用了,毕竟初学者嘛,嘿嘿。
到我做到删除的时候,我一般是先在数据库先试试SQL语句可以还是不可以才把它写到项目里面的,然后,在我写好删除的SQL后,运行,它报错了。它不让我删除,说存在外键约束,删除会破坏他们的结构。
外键约束:让数据库自己通过外键来保证数据的完整性和一致性,让他们的关联性更强。
虽然它是有用处,但一般是用不上的,而且会让我们写SQL的难度增加。
有可能带来的问题,当mysql数据库中有两个表,table1和table2,相互关联,在删除表的时候出错:

Cannot delete or update a parent row: a foreign key constraint fails

很明显这是表关联生成的强制约束问题,在删除的时候回检查表之间的关联关系,从而导致无法删除。
如果不想删除它的外键约束,其实可以在mysql这样写
在这里插入图片描述
这样就可以删除带有外键约束的表的数据了,但是,我还不会写到mybatis的xml里面,而且我感觉它给我的用处不大,所以我决定把我那个数据库里面的外键约束全部删除掉。
我们先把数据库里面所有的外键约束查出来
在这里插入图片描述

数据库名那里就写你要删除外键约束的数据库名字就行了,然后运行。
接着他就会查出一堆外键约束给你
在这里插入图片描述

然后把查出来的东西复制到上面执行
在这里插入图片描述

最后就成功了,这下子没有了外键约束的阻碍,我们不是想删除啥就删除啥。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值