在mysql语句中循环遍历数组字段?

时间:2012-11-01 16:33:19

标签: mysql arrays loops

我获得了一个有点奇怪的数据库,但我无法改变它。有一个字段被设置为一个数组但是包含我需要在where子句中访问的id。这是设置字段:

TABLE: PROMOS
promo_id   |    contract_ids
-----------------------------
 1               23,34,54
 2               13,34,55
 3               20,30

我需要执行一个sql查询来获取所有promo_ids,其中contract id = 34

mysql_query("SELECT promo_id FROM Promos WHERE contract_ids = '34'

有办法做到这一点吗?谢谢你的帮助!

1 个答案:

答案 0 :(得分:3)

SELECT promo_id FROM Promos 
WHERE FIND_IN_SET(34, contract_ids) > 0

请参阅FIND_IN_SET doc