mysql数据库怎么删除一个表的外键

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据库怎么删除一个表的外键相关的知识,希望对你有一定的参考价值。

mysql数据库的一个表中有个外键我想把这个外键删掉总是报错
怎么删除一个表的外键?
ERROR 1025 (HY000): Error on rename of '.\hy_oa\oa_travel' to '.\hy_oa\#sql2-644
-1' (errno: 152)

  mysql删除外键语法:

alter table ss_accesscode drop foreign key 外键约束名称;

  外键定义:

  如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。

  作用:

  保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值或使用空值。

参考技术A ALTER TABLE tablename DROP FOREIGN KEY keyname

不能删除可能是该外键在别的表中被引用本回答被提问者采纳

如何在sqlyog设置表的外键

如题,如何在sqlyog设置表的外键?

1、首先双击SQLyogEnt的快捷方式以打开软件;

2、进入到软件首页,首先创建一个新的数据库,命令为newMysql;

3、创建两个表,命令为class、student;

class表结构为id、class_code、class_name;

student表结构为id、class_code、student_code、student_name;

4、创建成功后,在newMysql数据库列表中就存在了两个表;

5、然后我们来创建外键;通过sql创建:alter table class add foreign key class_foreignKey(id) references student(id);

6、然后也可以对外键进行删除处理;通过sql删除:ALTER TABLE class DROP FOREIGN KEY class_foreignKey;

参考技术A

要求:建立了两个表一个attence(记作A表),一个leave(记作L表)。

A表中有用户的用户名,密码,id(自增作为主键)。

L表中是一个请假的表,L表中需要标识哪一个用户请的假。

这里需要设置外键:

步骤:

1、

在此右键L表

2、寻找并点击“关联/外键”或者摁“F10”。

弹出此对话框。

3、新建

4、a.在主键表下拉菜单中找到A表

b.在Source Column中找到userid  

c.在Target Column 中找到id

d.点击创建

就完成了外键的设置。

参考技术B

我用的是SQLyog 9.33,学习yii是用到的两个库。这个生成在框架设计器里操作。首先将需要处理的表添add tables,在table里选择Relationships/foreign Keys(带有钥匙的标志),下面操作就水到渠成了

参考技术C   三种方法:
  1.直接写sql语句.
  2.用SQLyog 选择外键表 ,点击右键 选择关联/外键,然后再选择主表,外键.
  3.在表 vet_specialties 上点击右键 ,然后找到Relationships/ForeignKeys中,然后选择相应的列。
  或者直接写命令:
  ALTER TABLE vet_specialties ADD FOREIGN KEY FK_SPECIALTY_ID(specialty_id) REFERENCES specialties (id)
  ALTER TABLE vet_specialties ADD FOREIGN KEY FK_VET_ID(vet_id) REFERENCES vets (id)

以上是关于mysql数据库怎么删除一个表的外键的主要内容,如果未能解决你的问题,请参考以下文章

如何在sqlyog设置表的外键

hive建立数据仓库 事实表的外键和维度表主键怎么关联 啥命令

MySql主从表的主表删除数据

mysql 删除sql语句

mysql外键

mysql如何删除一个外键