2017-11-21 4 views
-3

私の学校プロジェクトの予約システムを開発しています。それはPHPとMySQLに基づいています。1つのID(必然的にプライマリキーではない)に対するMysqlの複数行の作成方法

システムでは、ユーザーが登録できます。ログインに成功すると、ユーザーはphpmyadminの次の表に格納されている予約を行うことができます。 User Table

ユーザーが登録すると、user_idが取得されます。ユーザーが予約を行うと、同じuser_idに対してデータがテーブルに挿入されます。しかし、ユーザーが別の予約をしようとすると、次の予約の情報を保存する方法はありません。

質問はどうすればユーザーが複数の予約をすることができますか? user_idがプライマリキーなので、プライマリキーに対して複数のレコードを作成することはできません。

新しい予約テーブルを作成し、それを外部キーの関係>によってuser_idにリンクする必要がありますか?しかし、私の予約テーブルにプライマリキーがある場合、1つのプライマリキーに対して複数のレコードを挿入することはできません。

どういうわけか、各予約は、ユーザーが自分の名前ですべての予約を確認できるように、固有のuser_idにリンクする必要があります。

各予約には、予約をキャンセル/更新するために使用できる一意のIDも必要です。

私は基本的なMySQLの質問でなければならないと信じています。新しい予約テーブルを作成してuser_IDと接続するようなものですが、具体的な解決策は考えられません。

ご協力いただきありがとうございます。 ありがとうございます。その後、

答えて

1

メイクテーブルusers

は、その後、少なくとも2つのフィールドid, name

あなたは予約で(多くの側面を)外部キーを配置する必要がありますので、テーブルの予約とその1対多の関係を作る

その後、reservation

id, name, user_id

reserを取得しますユーザー1の使用を選択して参加する

SELECT * FROM reservations r JOIN user u ON r.user_id = u.id WHERE u.id = 1 
+0

ありがとうございました。予約テーブルの1対多の関係を作成するにはどうすればよいですか? – Tanzeel

+0

user_idを予約テーブルに置くだけで、外来キーの制約を追加することもできますが、それは必要ありません。 – Robert

+0

ありがとう、Robertの説明のために、私はそれを実装し、結果をお知らせします。 – Tanzeel

関連する問題