JoJ*_*JoJ 2 php sql multidimensional-array
如何将表与另一个表中的多个记录相关联?
基本上,我有一个"事件"表,如何跟踪特定事件中的"用户"(在他们自己的单独表中)?现在我在'event'表中只有一个列,其中包含已加入该'event'的用户ID的逗号分隔列表.
必须有更好的方法来做到这一点......对吗?
通常,您有一个表users_in_event,该events表以与表的多对多关系为每个用户保存一行.因此,对于每个事件,您将有多个表行单独映射到用户.
CREATE TABLE users_in_event
(
user_id INT,
event_id INT,
FOREIGN KEY user_id REFERENCES users (user_id) ON UPDATE CASCADE,
FOREIGN KEY event_id REFERENCES events (event_id) ON UPDATE CASCADE
-- Optionally, use ON DELETE CASCADE for the events foreign key
-- FOREIGN KEY event_id REFERENCES events (event_id) ON UPDATE CASCADE ON DELETE CASCADE
)
Run Code Online (Sandbox Code Playgroud)
要找出事件中的哪些用户,请执行以下操作:
SELECT
users_in_event.user_id,
users.name
FROM users JOIN users_in_event ON users.user_id = users_in_event.user_id
WHERE event_id=1234;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56 次 |
| 最近记录: |