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

    删除成功。

    愿你眼中有光芒,活成你想要的模样
  • 相关阅读:
    keras后端设置【转载】
    NN中的激活函数【转载】
    关于范数【转载】
    常用范数公式【转载】
    Tf中的SGDOptimizer学习【转载】
    亲和串 kmp
    kmp基础 ekmp
    Number Sequence kmp
    P1052 过河 线性dp
    P1074 靶形数独 dfs回溯法
  • 原文地址:https://www.cnblogs.com/SmallStrange/p/13993031.html
Copyright © 2011-2022 走看看