如上图所示使用SHOW CREATE TABLE 表名称;
成都创新互联公司长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为仪陇企业提供专业的网站设计、网站建设,仪陇网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
记住CONSTRINT后面‘’这个符号中的内容
这时候就可以使用ALTER TABLE 表名称 DROP FOREIGN KEY 刚刚记住的内容;
OK啦上述两步就可以删除外键啦
在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;
1.lesson表: �0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2�0�2!--StartFragment --�0�2我现在想删除sid这个列的外键: 别的同学的机子都可以删除,但是我的机子就不行,我们的MySql是一个版本的,不知道是什么原因?谁帮我解答下?????问题补充:div class="quote_title"hanyuanbo 写道/divdiv class="quote_div"你的同学可以删除,而且版本也一样,可能是你们表的结构不同。你可以先将那个包含外键的那个表备份下,删除掉那个表格,这样就可以删除外键了。之后再把备份恢复下就好了。img src="/images/smiles/icon_smile.gif"/ /div /div class="quote_title"hanyuanbo 写道/divdiv class="quote_div"你的同学可以删除,而且版本也一样,可能是你们表的结构不同。你可以先将那个包含外键的那个表备份下,删除掉那个表格,这样就可以删除外键了。之后再把备份恢复下就好了。img src="/images/smiles/icon_smile.gif"/ /div /就是因为有外键,所以导致列和表都删除不了,除非把整个Database都删除,那样的话我做的整个database都没了,只要找到能删除外键的,就可以把这个列删除,也就照样可以把这个表删除!!!!郁闷啊就是不能删除哪个外键!!问题补充:div class="quote_title"hanyuanbo 写道/divdiv class="quote_div"在删除那个把该外键作为主键的表之前,你先把包含外键的那个表中的外键全部删掉,置为null,或者直接将那列删掉,这样就没有地方引用这些外键,你就可以将那个表删除掉了。希望可以帮忙。记得以前做过类似的东西,删除将外键作为主键的表之前,必须将引用到这个键的内容置空,即没有引用该键,这样便可以删除了。/div /alter table lesson drop index key; /nbsp; 可是这个语句删除不了外键啊,我也知道只要把外键删掉就可以删除表了,关键是我不知道怎么删外键了!!!!