• 締切済み

PHPデータベース・テーブルの移行

PHPとMySQLを使ってサイト構築しています。 MySQLのデータベース「group_color」にはテーブル「pink」とテーブル「blue」があります。 サイトでログインしている会員ユーザーの情報が「pink」に入っていてユーザーが ”ブルーグループに変更する”というボタンを押すと、テーブルpinkに入っている情報がテーブルblueに移行するようにしたいのですが、PHPの表記はどのようになりますか? 「ログインしている会員の情報」を移行させたいです。 テーブルのフィールドは ・id ・name ・birthday となっています。 よろしくお願いいたします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

ちなみにidが主キーだとして、pinkとblueが別管理しているとなると 普通の管理をしていると競合してしまいます たとえばpinkのid=1が田中さんだとして、blueのid=1にすでに鈴木さんがいると 田中さんはpinkからblueに移動できません たとえば別管理テーブルをつかうとか、移動の際に一定の数を足し引きするなど 工夫をすれば競合は防げますが、煩雑で堅牢さを損なうためあまりお勧めできません。 最初から1つのテーブルで管理していれば 田中さんのidと鈴木さんのidは競合することはなく、 グループをわけるフィールドだけみて、pink組とblue組をわけることができます

回答No.3

質問者は正規化について勉強する必要がある。

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.2

>全く違うグループとして扱いたいので一つのテーブルでは管理できません。 >二つに分けてユーザーの解析などを行いたいのです。 「まったく違うグループ」というだけで、テーブル定義は基本的に同じなのですよね。であれば、グループの列を作って使う側で選別する方が楽ではないかというのがANo.1だと思います。解析などはどうとでも書けます。 ましてグループの変更(pink→blieの移行など)が発生するという状況であれば、なおさらですね。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

なんのためにテーブルをわけているのでしょうか? pinkとblueを択一するフィールドを一個用意しておけば1テーブルで管理できますが

mi09251
質問者

補足

回答ありがとうございます!! 全く違うグループとして扱いたいので一つのテーブルでは管理できません。 二つに分けてユーザーの解析などを行いたいのです。

関連するQ&A

専門家に質問してみよう