0

menu_tableという名前のテーブルに次のデータを保存したいので、mysql find_in_setに問題があります。しかし、別のテーブルの単一の menu_id に menu_ids の値を一致させたい

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)
  • その他の列...

メニュー_その他のテーブル

  • MTID (MenuID 列の PK)
  • メニュー ID (外部キー)

レコードの例

メニュー表

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
于 2013-05-20T07:54:57.907 に答える