我刚刚创建了我自己的第一个mySQL表(除了使用Joomla,Wordpress等),我是MS SQL开发人员多年,但通常我可以在MS SQL中轻松创建外键但我遇到了困难或者这里缺乏知识 .
这是我的表格:
users
-
user_id int primary auto_increment
-
用户名varchar(20)
-
密码varchar(20)
posts
主auto_increment中
-
post_id
-
title varchar(100)
-
消息文本
-
user_id int
当我尝试向引用 posts->user_id
的用户添加外键时,我在mySQL面板的选项列表Relation_view窗口中看不到 posts->user_id
选项 .
我想知道我是否应该将 posts->user_id
定义为 Index
或其他什么?如果是这样,为什么?
3 回答
简短回答:是的,MySQL强制你索引外键 .
您可以在MySQL文档页面上阅读有关外键的更多信息:http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html
来自MySQL Reference Manual:
与SQL Server不同,SQL Server不需要对FK进行索引...但是我看到的建议表明,即使不需要,您也几乎总是将FK编入索引 .
从the documentation: