php - mysql中的多维表

标签 php mysql multidimensional-array

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/

相关文章:

php - 如何在 Mysqli 准备语句中使用 PHP 常量

PHP正则表达式删除重复单词

java - 清除二维数组

php - 访问多维数组中任意深的键

php - htmlentities() 与 htmlspecialchars()

php - 我可以用两个吗 ||和一个 && 在 PHP 中的同一个 if 语句中?

mysql - Apache2 mod_dbd - 指定加密类型以使用 MySQL PASSWORD()?

mysql - 尝试使用 DSN 连接到 MySql 时出错

c# - 我想在 C# 中同时进行多个 mysql 查询

algorithm - 如何就地转置多维数组