gpt4 book ai didi

mysql - 删除约束时,会自动创建索引

转载 作者:行者123 更新时间:2023-11-30 01:11:48 25 4
gpt4 key购买 nike

我正在尝试从表中删除外键约束。但是,每次我删除约束时,似乎都会随后创建一个索引。

configtool_access_control约束:

CONSTRAINT FK_configtool_access_control_configtool_app_site_app_site_id FOREIGN KEY (app_site_id)
REFERENCES configtool_app_site (app_site_id) ON DELETE RESTRICT ON UPDATE RESTRICT

删除语句:

use my_db;

set AUTOCOMMIT=1;

SET FOREIGN_KEY_CHECKS = 0;
flush privileges;

alter table configtool_access_control
drop FOREIGN KEY FK_configtool_access_control_configtool_app_site_app_site_id;

在表configtool_access_control中创建结果索引:

INDEX FK_configtool_access_control_configtool_app_site_app_site_id (app_site_id)

这是否意味着我必须同时编写删除索引的脚本?有没有办法同时删除两者?

最佳答案

当您创建 FOREIGN KEY 时,DBMS也会创建相应的键。简而言之,'外键' = '常用键' + '外键约束'。因此,当您仅删除约束时,您的 key 仍然会保留 - 因此,如果您确实需要这样做,您也需要删除它。

为了更好地理解这一点,请在创建外键后在表上执行 SHOW INDEXES 语法 - 然后您将看到具有相应的“常用”键。

关于mysql - 删除约束时,会自动创建索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19406080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com