我正在构建一个小应用程序并设置表之间的外键关系。然而我很困惑,为什么我真的需要这个?有什么好处 - 在编写我的查询时是否可以帮助我,而不必执行任何连接?以下是我的数据库的示例代码片段:外键 - 他们为我做了什么?
+-------------------+
| USERS |
+-------------------+
| user_id |
| username |
| create_date |
+-------------------+
+-------------------+
| PROJECTS |
+-------------------+
| project_id |
| creator |
| name |
| description |
+-------------------+
users
之间有一个关键关系。 user_id
和projects
。 creator
我可以像这样执行查询吗?
SELECT * FROM PROJECTS WHERE USERS.username = "a real user";
由于MySQL的应该知道表之间的关系?如果不是,那么在数据库设计中外键的真正功能是什么?
如果这被迁移到http://dba.stackexchange.com/? – simgineer 2015-06-01 20:47:48
不,可能不是。在该网站存在之前,它曾被问及回答。迁移没有真正的优势。 – 2015-06-01 20:49:00