使用navicat for mysql 创建外键foreign keys时,总会自动创建索引indexs

x33g5p2x  于2022-01-09 转载在 Mysql  
字(0.7k)|赞(0)|评价(0)|浏览(253)

使用navicat for mysql 创建外键foreign keys时,总会自动创建索引indexs。如果删除这个索引就会提示错误error 1553:cann’t drop index…:needed in a foreign key constraint。请教各位,该如何解决呢,不想要indexs
这个好像必须要吧 主键默认就带索引 这个索引对外键表没什么影响
但是现在不想要这个索引,而且navicate for mysql自动生成的索引都是和外键字段相同
但是现在不想要这个索引,而且navicate for mysql自动生成的索引都是和外键字段相同[/quote] 你不想要的理由是? 你吃去肯德基买汉堡 一个汉堡18元 现在有18元的套餐 是汉堡+薯条+可乐 买汉堡不卖套餐的理由是?
Navicate会自动创建默认的索引, 一般关联到主键上, 但索引是可以修改的; 跟外键是没有任何关系的 ! 如果不想要的话, 你可以手动写sql语句
挖个坟,我也遇到lz一样的问题,ls的比喻根本就不对,按你的比喻:“一个汉堡18元 现在有18元的套餐 是汉堡+薯条+可乐”,你这这里“薯条+可乐”比喻成索引,相当于白送的,这个当然好啦,可索引不是白送的啊,真像你说的那样索引白送的,有益无害,那所有的字段都弄索引好了。 都知道索引会增加物理存储空间,而且影响修改数据时的速度,有些外键其实也不用什么索引,真不懂为啥会自动生成
不对 只要是外键 就一定得有索引 因为你要用它关联 你应该站在数据库的角度来看问题 如果你开发一个数据库 对于有关联的表 存储方式肯定不能像单一表一样 key一定也要有一个BTree去存 这个树 就是索引

相关文章

微信公众号

最新文章

更多