mySQL中是否可以有多维表
我想根据用户的 ip、用户代理和他们发送的 session token 来记录用户。
像这样:
ip1
user-agent1
session token1
user-agent2
session token2
session token3
ip2
user-agent3
session token4
我想避免使用 serialize()
,因为我听说它会降低表格的效率和便携性。
最佳答案
不是你有一个多维表,而是多个表。
表ips
id INT
ip VARCHAR
表用户代理(将 UA 链接到 IP)
ip_id INT
useragent VARCHAR(2048) (some large value)
表 token (将用户链接到 token )
id
userid
token
上面的所有三个组件都通过它们的 id
列链接在一起,形成一个标识 session 的表。多个 ip_id
可能与单个 token
关联,后者又关联多个可能的 UA 字符串。
这使得同一 IP 可能有相同的 UA 字符串,但同一 IP 有多个不同的 session token 。
table 上事件
ip_id
token_id
关于php - mysql中的多维表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10124904/