重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

mysql怎么删除有外键 mysql删除主键必须删除外键吗

mysql创建表时对于外键的删除处理

mysql删除外键语法:

创新互联致力于互联网网站建设与网站营销,提供网站设计制作、做网站、网站开发、seo优化、网站排名、互联网营销、小程序设计、公众号商城、等建站开发,创新互联网站建设策划专家,为不同类型的客户提供良好的互联网应用定制解决方案,帮助客户在新的全球化互联网环境中保持优势。

1

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

外键定义:

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

作用:

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

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记录

那就需要先删除主表里的记录,再删除子表里的记录。

比如有如下数据:

A表

uid  name

1    张三

2    李四

B表

uid  科目  分数

1     数学   90

1     语文   80

2     数学   70

2     语文   60

现在要删除A表里张三的记录,如果有外键,直接

delete from A where uid=1

这样是删除不了的。

所以要先删除B表里uid=1的记录再执行上边这句

delete from B where uid=1

然后再执行

delete from A where uid=1

就可以了

MySql中如何删除外键?

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; 可是这个语句删除不了外键啊,我也知道只要把外键删掉就可以删除表了,关键是我不知道怎么删外键了!!!!

mysql删除外键约束

如上图所示使用SHOW CREATE TABLE 表名称;

记住CONSTRINT后面‘’这个符号中的内容

这时候就可以使用ALTER TABLE 表名称 DROP FOREIGN KEY 刚刚记住的内容;

OK啦上述两步就可以删除外键啦

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

在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;


网站题目:mysql怎么删除有外键 mysql删除主键必须删除外键吗
文章转载:http://cqcxhl.com/article/dodoooc.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP