我对mysql find_in_set有问题,因为在名为menu_table的表中,我想存储以下数据。但是我想将menu_ids的值匹配到另一个表的单个menu_id
mt_id menu_ids
---------------
1 4,5,6,
2 7,8,
or
mt_id menu_ids
----------
1 4
2 5
然后我不明白如何存储值,以及哪个更好的解决方案来检查menu_ids?
最佳答案
不要存储用逗号分隔的值。这是一个糟糕的架构设计。我建议你像这样设计桌子,
菜单表
菜单ID(PK)
其他专栏...
其他表
MTID(PK)
其他专栏...
菜单_其他表
MTID(带有MenuID列的PK)
菜单ID(FK)
记录示例
菜单表
MenuID OtherColumn
1 aaaa
2 bbbb
其他表
MTID OtherColumns
1 a
2 b
3 c
4 d
5 e
6 f
菜单_其他表
MenuID MTID
1 1
1 2
2 3
2 4
2 5