我刚刚自己创建了我的第一个 mySQL 表(除了使用 Joomla、Wordpress 等),并且多年来我一直是 MS SQL 开发人员,但通常我可以轻松地在 MS SQL 中创建外键,但我遇到了这里有困难或缺乏知识。
这是我的 table :
用户
- user_id int 主自动增量
- 用户名 varchar(20)
- 密码 varchar(20)
帖子
- 主 auto_increment 中的 post_id
- title varchar(100)
- 消息文本
- user_id int
当我尝试向引用 posts->user_id
的用户添加外键时,我在选项列表 Relation_view 窗口中看不到 posts->user_id
选项在 mySQL 面板上。
我想知道是否应该将 posts->user_id
定义为 Index
或其他什么?如果有,为什么?
最佳答案
简短的回答:是的,MySQL 强制您索引外键。
InnoDB requires indexes on foreign keys and referenced keys so that foreign key checks can be fast and not require a table scan.
您可以在 MySQL 文档页面上阅读有关外键的更多信息:http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html
关于mysql - 外键必须是 mySQL 中的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6230588/