0

この質問は決して新しいものではありませんが、少しひねりがあります。私のウェブページは、ユーザーが賭けをする会員ページです。私の考えは、ユーザー ( TABLE userBet+$useridのような命名規則を使用) ベット用の新しいテーブルを作成することです。ユーザーのログイン情報は既に処理されています。私の目標は、ユーザーの賭けを新しいテーブルに保存することです。ユーザー登録時に作成されるテーブル。これにより、スコアのカウントが容易になることが期待されます。私は正しいですか、それとも間違っていますか?これはより良い方法で行うことができますか?(すべて PHP MySQL で行われます)

ユーザー登録 -> ベット用のテーブルが作成されます

"CREATE Table $userID ,id_bet, games, result, points"

そして、このテーブルを正しい結果と照合しますか?

もう一度私の質問: これは良い方法ですか? userID を使用してテーブルを作成するのは賢いことですか?

編集

賭けは常に 40 試合で、テーブルは列と行で巨大になります。各ゲームに 1 つずつ、合計 40 のテーブルを作成する必要がありますか? そこにすべてのユーザーを入れますか?

4

2 に答える 2

3

私は正しいですか、それとも間違っていますか?

あなたは間違っている。データベース スキーマを動的に変更しても、操作が難しくなるだけです。そんなことをしても何の得にもなりません。すべてのベットを同じテーブルに保存し、列を追加することで、同じことができますuserid

于 2013-08-16T08:33:54.603 に答える
1

著者のリクエストにより回答として投稿:)

推奨されるデータベース スキーマ:

テーブルmatches:

id |   name   |
---------------
 1 |   A vs B |

テーブルuser_bets

id | user_id | match_id | points | result |
-------------------------------------------
 1 |    X    |    1     |    Y   |   Z    |

match_id が関連する場所matchesid

user_id = user.id

user_bets は、すべての情報を含む 1 つのテーブルのみです。コメントから明らかなように、ユーザー入力を介してデータベーススキーマを変更することは悪い習慣と見なされているため、個別のテーブルは必要ありません。

于 2013-08-16T09:39:24.633 に答える