我对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

09-10 09:57