【问题标题】:extracting the ids assigned to a list of user ids提取分配给用户 id 列表的 id
【发布时间】:2013-10-19 05:14:10
【问题描述】:

上述问题可能令人困惑,所以让我解释一下。我有一个结构类似于下面的表:

form_id         bank_ids 

   1            5,6,7,8
   2            7,10
   3            4,7,9
   4            5,8,1

现在假设我想提取分配给 bank_id 7 的表单 id,我该如何提取呢?

【问题讨论】:

  • 你有一个存储在sql中的数组?或者你有多列?
  • 不,它不是一个数组。它是一个字符串VARCHAR
  • 我会更改表格的结构,以便于搜索。包括一个 Auto Incrementing 行,然后是 form_id 和 bank_id,只有 4 行 form_id 为 1,2 行 form_id 为 2 等。这将使搜索更容易,如果您必须在某个时候合并表,它将是更容易。

标签: php mysql explode


【解决方案1】:

MySQL 有一个名为 FIND_IN_SET 的内置函数。

SELECT *
FROM tableName
WHERE FIND_IN_SET('7', bank_ids) > 0

您应该正确规范您的表格。

更新

如果你想使用LIKE,你需要在两边连接,。例如

WHERE CONCAT(',', bank_ids, ',') LIKE CONCAT('%,', '7', ',%')

【讨论】:

  • 这个(对我来说是新的)功能有一天会派上用场。 “学习曲线”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-17
  • 2021-08-21
  • 1970-01-01
  • 2012-07-12
  • 1970-01-01
相关资源
最近更新 更多