mysql中的多维表

时间:2012-04-12 13:47:48

标签: php mysql multidimensional-array

是否可以在mySQL中使用多维表

我希望根据用户的IP,用户代理和发送的会话令牌来记录用户。

这样的事情:

ip1
    user-agent1
        session token1
    user-agent2
        session token2
        session token3
ip2
    user-agent3
        session token4

我希望避免使用serialize(),因为我听说它会降低效率并减少便携性。

1 个答案:

答案 0 :(得分:2)

这不是你有一个多维表,而是多个表

表格ips

id INT
ip VARCHAR

表使用者(将UA链接到IP)

ip_id INT
useragent VARCHAR(2048) (some large value)

表标记(将用户链接到标记)

id
userid 
token

上述所有三个组件都通过其id列链接到一个标识会话的表中。多个ip_id可能与单个token相关联,后者又会关联多个可能的UA字符串。

它可能会为同一个IP提供相同的UA字符串,但会有来自同一IP的多个不同的会话令牌。

表会话

ip_id
token_id