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://pwwzsj.com/article/dojojei.html