0

2 つのテーブルでプライマリの自動インクリメント ID を共有したいのですが、可能ですか? どうすればいいですか?私が考慮する必要があるものはありますか?

私がこれを行っている理由は、グループ列をユーザーテーブルに追加するよりも優れたソリューションであり、完全に個別のグループテーブルを作成するよりも優れているためです。主キーを共有している場合、既存の投稿テーブルを使用できるためです。グループとユーザーの両方。2 つの個別の投稿テーブル (グループ投稿用の group_posts テーブルとユーザー投稿用の user_posts テーブル) を作成する代わりに。

既存のユーザーテーブルは

id(プライマリ、ai)

ユーザー名

パスワード

Eメール

共有 ai 主キーを使用してユーザー テーブルにリンクするグループ テーブル

id(primary、ai、users テーブル id にリンク)

グループ名

によって作成された

作成日

4

1 に答える 1

1

次の手順を実行して、スキーマをより明確にする必要があります。

  1. テーブルを作成します(例people
    • id、主キー、自動インクリメント
    • typeuser、それがaかaかを教えてくれますgroup
  2. 作成usersおよびgroups主キーの外部キーpeople
    • にレコードを挿入しますpeople
    • を使用して割り当てられたIDを取得しますLAST_INSERT_ID()
    • 上記で取得したIDを使用して、usersまたは適切に挿入しますgroups

次に、テーブル内の「ユーザー」や「グループ」などではなく、「人」を参照しますposts

概念的には、それをOOの方法で考えると、それは意味usersし、groups両方とも拡張しpeopleます。

于 2012-04-26T12:29:43.293 に答える