建立表结构时sql疑问

如下sql在建立部门和角色的多对多关联表结构的时候,“KEY FK7qg6itn5ajdoa9h9o78v9ksur (dept_id)” 这句里的随机字符串表示什么意思?创建这个key的作用是什么?

CREATE TABLE sys_roles_depts (
role_id bigint(20) NOT NULL,
dept_id bigint(20) NOT NULL,
PRIMARY KEY (role_id,dept_id) USING BTREE,
KEY FK7qg6itn5ajdoa9h9o78v9ksur (dept_id) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='角色部门关联';

阅读 1.7k
2 个回答

你已经给role_id和dept_id建立了主键索引,因为是联合索引,单独用dept_id作条件查询时索引就失效了,所以这里会单独给role_id加一个索引。不过这里随机字符串的索引名不太符合命名规范,我们一般用idx_作为索引前缀

key就是个索引,这随机字符串就是索引名

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题