我想创建一个名为 user_ports
的表,其中包含用户在数据库中打开的所有端口。
不要将每个列称为“port_80”、“port_100”
我想知道是否可以将其作为数组输入到名为 opened_ports
的列中。
但是如果我想让所有打开80端口的用户,我该怎么做呢?
最佳答案
据我所知,您只需要在 user_ports 表中有 2 列: user_id 将引用相应的用户,opened_port 将描述特定的开放端口。那么您可能应该将(user_id,opened_port)对声明为主键。有了这样的表结构,您可以通过以下查询来选择打开80端口的用户的id:
SELECT user_id FROM user_ports WHERE opened_port = 80;
您可以将用户打开的所有端口以 CSV 形式存储在单个记录中,但这会:
- 需要额外的代码来处理此类欺骗行为;
- 使数据库查询变得复杂并减慢;
- 对数据库进行非规范化(应该避免)。
关于mysql - 在数据库中搜索数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14195520/