mysql - 在数据库中搜索数组元素

标签 mysql

我想创建一个名为 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 形式存储在单个记录中,但这会:

  1. 需要额外的代码来处理此类欺骗行为;
  2. 使数据库查询变得复杂并减慢;
  3. 对数据库进行非规范化(应该避免)。

关于mysql - 在数据库中搜索数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14195520/

相关文章:

PHP MySQL 更新和减去

mysql查询在列表中最后一个特定标记之后获取行

mysql - 使用列表连接表

mysql - 计算每个唯一元素在表格中出现的次数

java - Hibernate自定义sql获取最后插入id

PHP SQL 集成

mysql - 不使用 join 将两个表合二为一

mysql - 将 MySQL Query 从一台服务器直接导入另一台服务器?

php - 组合多个不同的值

php - 选择所有带标签的线程和其余标签?