我有一个包含餐厅信息的mySQL表。部分信息是以逗号分隔的数字列表,对应于餐厅提供的美食类型。我在从数据库中获取正确信息时遇到了一些问题。表看起来像匹配逗号分隔列表的mySQL模式
id businessName cuisine_id
1 Pizza Place 2,3,4,
2 Burger Place 12,13,14,
我想出了
SELECT * FROM restaurant WHERE cuisine_id LIKE "%2,%"
但是,这让我与它匹配的问题, “2”, “12” 和22“。
我也试图
SELECT * FROM restaurant WHERE cuisine_id LIKE "[^0-9]2,%"
但这返回任何内容。
有关如何编写此表达式的任何建议?
很好的解决方案,但我想他应该改变他的数据库结构,因为保存在一个表中的所有ID不是好。我也会建议去他的分贝(并且利用关系)他的分贝。 – davejal
谢谢Avinash,工作完美。 Davejal,您和fthiella指出,这可能不是存储此数据的最佳方式。我将开始正常化数据库。这不是我能从更好地使用关系中受益的唯一地方。感谢您的建议。 – David