zoukankan      html  css  js  c++  java
  • MySQL删除外键约束问题

    当我们在一个表中添加字段约束的时候:

    ALTER TABLE product ADD CONSTRAINT product_fk FOREIGN KEY(category_id) REFERENCES category(id);

    会认为我的外键约束名称为product_fk, 然后当我们想删除时:

    ALTER TABLE product DROP FOREIGN KEY product_fk;

    会出现以下的错误:

    <e>Query: alter table product drop foreign key product_fk
    
    Error Code: 1025
    Error on rename of '.web_day09product' to '.web_day09#sql2-2330-1' (errno: 152)

    这是因为字段的外键约束名并不是product_fk 。

    我们在数据库中执行一下命令:

    SHOW CREATE TABLE product

    控制台会显示:

    Table    Create Table
    product    CREATE TABLE `product` (
      `pid` varchar(32) NOT NULL,
      `pname` varchar(40) DEFAULT NULL,
      `price` double DEFAULT NULL,
      `category_id` varchar(32) DEFAULT NULL,
      PRIMARY KEY (`pid`),
      KEY `category_id` (`category_id`),
      CONSTRAINT `product_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `category` (`cid`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8

    从建表语句中我们发现外键约束名称是:

    product_ibfk_1

    然后我们再执行外键删除操作:

    <n>Query: alter table product drop foreign key product_ibfk_1
    
    0 row(s) affected

    删除成功。

    愿你眼中有光芒,活成你想要的模样
  • 相关阅读:
    BZOJ3992 [SDOI2015]序列统计
    BZOJ3991 [SDOI2015]寻宝游戏
    BZOJ4007 [JLOI2015]战争调度
    BZOJ4006 [JLOI2015]管道连接
    BZOJ4004 [JLOI2015]装备购买
    P2567 [SCOI2010]幸运数字
    P1447 [NOI2010]能量采集
    比赛-Round 2 (11 Jul)
    题解-弹飞绵羊 (HNOI2015)
    归并排序模板
  • 原文地址:https://www.cnblogs.com/SmallStrange/p/13993031.html
Copyright © 2011-2022 走看看