2014-03-07 44 views
0

我想创建一个使用mysql做web应用程序。有人可以解释我如何选择特定于一个用户的待办事项吗?如何链接用户表和todos表?一般建议将被优先考虑,而不是实际的代码。MySQL如何链接表

回答

2

它被称为外键关系。它是这样的

users table 
----------- 
id (auto increment primary key) 
name 
address 
... 


todos table 
----------- 
id (auto increment primary key) 
user_id (id from users table - this is the foreign key and relation to the user) 
todo_text 
... 

如果你想选择一个用户的待办事项后,那么你可以使用一个连接:

select todos.* 
from todos 
inner join users on users.id = todos.user_id 
where users.name = 'john' 
+0

非常感谢您!但我还有一个问题。例如,如何获得'john'作为当前登录的用户,以便将任务插入特定用户的表中?我需要一个变量吗? – user3143696

+0

我不太清楚你的要求。最好问一个新问题。您对这个新问题所提供的信息越多,得到准确答案的速度就越快。添加代码总是很好的。祝你好运。 –

0

你会通过ID的

所以,如果你有将它们链接两个表格(UserTable)和(ToDoTable),你会得到一个选择像这样的待办事项。

Select * from ToDoTable where ToDoTable.user_id = 1; 

该查询基本上等于在说给我一切从用户所在鲍勃todotable(因为鲍勃具有1的主键ID)

用户表将用户喜欢的:

Name | id 
Bob 1 
John 2 

和TodoTable将有

Task   | user_id 
Clean dishes  2 
Take out Trash  1 

这样,我们链接的任务TH E用户表由USER_ID
用户表将有一个主键(id)
,它是在待办事项表中引用的外键