0

ここに私のテーブルがあります:

PRODUCT_ID (pk) | GROUP_ID (pk) | PRICE

これにより、ユーザーが異なる製品には異なる価格を設定します。価格がすべてのグループに適用される場合、GROUP_ID は NULL になります。しかし、これは PK です。NULL にすることはできません。PRODUCT_ID を PK スタンドアロンにすることはできません。価格の異なる製品がさらに存在する可能性があるためです。じゃあどうやって回避するの?

4

2 に答える 2

2

あなたが言ったように、テーブルの主キーを NULL にすることはできません。上記の価格がすべてのグループに適用されることを示す「特別な」値(NULLのような有効なもの)を用意することをお勧めします(たとえば、 のタイプとして~0使用している場合)。INT UNSIGNEDGROUP_ID

于 2012-08-09T11:53:02.280 に答える
1

独自の ID を持つ「グローバル」グループを作成することをお勧めします。に設定できたとしても、これはかなり気分が良くなりgroup_idますnull。したがって、すべてのグループは独自の賞品と「グローバル」グループの価格を追加で受け取りました。

1 | 1 | 10,50
2 | 2 | 15,50
2 | 3 | 15,70

group id1が「グローバル」グループの場合、 group1およびはid の製品2の価格を持ちます。10,501

于 2012-08-09T11:57:47.070 に答える