0

ユーザーの mysql テーブルと特定の属性の 1 つがあります。

2 つを結合する 3 番目のテーブルがあります (X 個の属性を持つユーザー)。各属性は個別の要素/列です。

私の質問は; X 個の要素を持つユーザーと、X+1 個の要素を持つ別のユーザーがいる場合、テーブルに +1 (または必要に応じて任意の数の列) を追加するようにデータベースに指示するにはどうすればよいでしょうか?

それはこれらの線に沿ったものでしょうか?

if(table_columns < attribute_columns)
{
mysqli_query($db,"ADD 'X amount' NEW COLUMN && ADD attributes");
}
else
{
mysqli_query($db,"ADD attributes");
}

私が正しい道を進んでいるのか、それとも間違った方向に進んでいるのかを明確にしたかっただけです。

4

1 に答える 1

0

それは、あなたがやろうとしているように見えることを行うための適切な方法ではありません. 通常は次のように実行します。 ユーザー テーブル: ユーザー ID、名前、その他必要なもの... 属性テーブル: AttID、名前、その他必要なもの... ユーザー属性テーブル: ユーザー ID、属性 ID、属性値

UserAttributes.UserID を Users.UserID の外部キーとして制約します。UserAttributes.AttID を Attributes.AttID の外部キーとして制約します。ユーザーの属性のリストを取得するには、以下を使用します: ユーザー名として u.name、attname として a.name、attvalue として ua.attvalue を選択します。 .attid=a.attid ここで、u.userid = USER_ID_TO_LOOK_FOR

于 2013-03-09T06:15:01.623 に答える