我有这样的图书数据 我正在尝试按category_id选择图书
例如
我有一个针对category_id的复选框 我检查category_id = 1
,我使用%1% 结果应为book_id 1,3,5 但是book_id 14,18也来了
如果我检查category_id 1和8 结果应该是book_id 3
+---------+-------------+ | book_id | category_id | +---------+-------------+ | 1 | 1,2 | | 2 | 14 | | 3 | 1,8 | | 4 | 18 | | 5 | 1,2 | | 6 | 11 | +---------+-------------+
我不喜欢这样存储数据,但是我无法更改它。
答案 0 :(得分:2)
如果可以,则应规范化数据库。存储逗号分隔的值不是可伸缩的解决方案。因此,理想情况下,您的表应具有从large-scale
到box
因此,表格应如下所示:
tennis
在非规范化的情况下,可以使用Find_in_Set()
函数:
book_id