从品牌网站建设到网络营销策划,从策略到执行的一站式服务
在删除那个把该外键作为主键的表之前,你先把包含外键的那个表中的外键全部删掉,置为null,或者直接将那列删掉,这样就没有地方引用这些外键,你就可以将那个表删除掉了。希望可以帮忙。记得以前做过类似的东西,删除将外键作为主键的表之前,必须将引用到这个键的内容置空,即没有引用该键,这样便可以删除了。
创新互联公司是创新、创意、研发型一体的综合型网站建设公司,自成立以来公司不断探索创新,始终坚持为客户提供满意周到的服务,在本地打下了良好的口碑,在过去的10余年时间我们累计服务了上千家以及全国政企客户,如成都被动防护网等企业单位,完善的项目管理流程,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致赞扬。
语法: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中删除一张表或一条数据的时候,出现
[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;
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图