mysql外键怎么删除 mysql删除外键约束的sql语句

MySQL 如何删除有外键约束的表数据

在MySQL中删除一张表或一条数据的时候,出现

目前创新互联公司已为上1000+的企业提供了网站建设、域名、虚拟主机、网站改版维护、企业网站设计、平谷网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

[Err] 1451 -Cannot deleteorupdatea parent row:

aforeignkeyconstraintfails (...)

这是因为MySQL中设置了foreign key关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。

禁用外键约束,我们可以使用:

SETFOREIGN_KEY_CHECKS=0;

然后再删除数据

启动外键约束,我们可以使用:

SETFOREIGN_KEY_CHECKS=1;

查看当前FOREIGN_KEY_CHECKS的值,可用如下命令:

SELECT @@FOREIGN_KEY_CHECKS;

mysql如何删除一个外键

语法:ALTER TABLE 表名 DROP CONSTRAINT 外键名

例子:

mysql CREATE TABLE categories (

- category_id tinyint(3) unsigned NOT NULL AUTO_INCREMENT,

- name varchar(30) NOT NULL,

- PRIMARY KEY(category_id)

- ) ENGINE=INNODB;

mysql CREATE TABLE articles (

- article_id INT(11) unsigned NOT NULL AUTO_INCREMENT,

- title varchar(255) NOT NULL,

- category_id tinyint(3) unsigned NOT NULL,

- member_id int(11) unsigned NOT NULL,

- INDEX (category_id),

- FOREIGN KEY (category_id) REFERENCES categories (category_id),

- PRIMARY KEY(article_id)

- ) ENGINE=INNODB;

外键名是什么:在上面的例子中category_id

怎么删除mysql中的所有外键

在删除那个把该外键作为主键的表之前,你先把包含外键的那个表中的外键全部删掉,置为null,或者直接将那列删掉,这样就没有地方引用这些外键,你就可以将那个表删除掉了。希望可以帮忙。记得以前做过类似的东西,删除将外键作为主键的表之前,必须将引用到这个键的内容置空,即没有引用该键,这样便可以删除了。


当前题目:mysql外键怎么删除 mysql删除外键约束的sql语句
本文路径:http://bzwzjz.com/article/dojojei.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设 网站建设公司 定制网站设计 网站建设改版 公司网站建设 成都网站制作 成都网站设计 网站制作公司 重庆网站制作 app网站建设 手机网站设计 企业手机网站建设 高端网站建设 攀枝花网站设计 成都网站建设推广 手机网站制作 移动网站建设 成都营销网站制作 成都网站建设 成都网站设计 专业网站设计 成都网站设计公司