我认为这是一个非常简单的问题,但我无法破解它。
我的mysql数据库中有两个表,clubs_db和leagues_db。
clubs_db
id | name
1 | Club1
2 | Club2
3 | Club3
4 | Club4
5 | Club5
6 | Club6
leagues_db
id | team1 | team2 | team3 | team1_name | team2_name | team3_name |
1 | 1 | 2 | 3 | | | |
2 | 4 | 5 | 6 | | | |
我想要做的就是将相关的俱乐部名称插入来自clubs_db的leagues_db。
我还希望当leagues_db中的值发生变化时会自动发生这种情况。
谢谢,如果有人可以帮助我。
答案 0 :(得分:1)
听起来你可以通过删除teamN_name
列并使用将两个表连接在一起的视图来提供更好的服务:
CREATE VIEW leagues_with_names AS
SELECT
l.id, l.team1, l.team2, l.team3,
t1.name AS team1_name,
t2.name AS team2_name,
t3.name AS team3_name
FROM leagues_db l
LEFT OUTER JOIN clubs_db t1 ON l.team1 = t1.id
LEFT OUTER JOIN clubs_db t2 ON l.team2 = t2.id
LEFT OUTER JOIN clubs_db t3 ON l.team3 = t3.id;
然后你可以SELECT ... FROM leagues_with_names
而不必担心加入的细节。请注意,视图本身不是表格;它会自动从其他两个表中获取数据。这意味着它将始终是最新的。