使用 WHERE 和逗号值的 SQL



我有product_id列,该列TEXT数据类型中具有数据30ed1476c6d04337b02f783079c2290f, a3b14b2d2603499393cde6bf120a059e。我组合了 2 个产品 ID 并使用内爆将其保存到数据库。现在我的问题是如何使用 1 个产品 ID 获取数据。

例如SELECT * FROM table1 WHERE product_id = 30ed1476c6d04337b02f783079c2290f

您首先应该努力修复数据模型;您应该有一个单独的映射表,其中每个值将存储在单独的行中。将 csv 数据存储在关系表中是许多邪恶的根源。请参阅:在数据库列中存储分隔列表真的那么糟糕吗?

也就是说,对于您当前的架构,您可以使用字符串函数find_in_set()

select *
from table1
where find_in_set('30ed1476c6d04337b02f783079c2290f', product_id)

相关内容

  • 没有找到相关文章

最新更新