0

我对 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的更好解决方案是什么?

4

1 回答 1

2

不要存储以逗号分隔的值。这是一个糟糕的架构设计。我建议你像这样设计桌子,

菜单表

  • 菜单 ID (PK)
  • 其他列...

其他表

  • MTID (PK)
  • 其他列...

Menu_其他表

  • 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

Menu_其他表

MenuID  MTID    
1       1
1       2
2       3
2       4
2       5
于 2013-05-20T07:54:57.907 回答