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

     

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

    alter table product drop foreign key product_ibfk_1

    0 row(s) affected

     

    原文出处:https://blog.csdn.net/qq_35604488/article/details/90573415

  • 相关阅读:
    Linux的基础优化
    Linux日志文件/var/log详解
    Linux下inittab文件详解
    Linux内核优化
    Linux虚拟机网络连接的三种方式
    Linux下ssh的使用
    nginx安装Lets Encrypt SSL免费HTTPS加密证书
    centos7.2 安装 nginx
    CentOS 7 安装php7
    linux tar 解压出错
  • 原文地址:https://www.cnblogs.com/sucretan2010/p/11692460.html
Copyright © 2011-2022 走看看