- 締切済み
PHPデータベース・テーブルの移行
PHPとMySQLを使ってサイト構築しています。 MySQLのデータベース「group_color」にはテーブル「pink」とテーブル「blue」があります。 サイトでログインしている会員ユーザーの情報が「pink」に入っていてユーザーが ”ブルーグループに変更する”というボタンを押すと、テーブルpinkに入っている情報がテーブルblueに移行するようにしたいのですが、PHPの表記はどのようになりますか? 「ログインしている会員の情報」を移行させたいです。 テーブルのフィールドは ・id ・name ・birthday となっています。 よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
ちなみにidが主キーだとして、pinkとblueが別管理しているとなると 普通の管理をしていると競合してしまいます たとえばpinkのid=1が田中さんだとして、blueのid=1にすでに鈴木さんがいると 田中さんはpinkからblueに移動できません たとえば別管理テーブルをつかうとか、移動の際に一定の数を足し引きするなど 工夫をすれば競合は防げますが、煩雑で堅牢さを損なうためあまりお勧めできません。 最初から1つのテーブルで管理していれば 田中さんのidと鈴木さんのidは競合することはなく、 グループをわけるフィールドだけみて、pink組とblue組をわけることができます
- korokokokoro
- ベストアンサー率19% (20/102)
質問者は正規化について勉強する必要がある。
- shimix
- ベストアンサー率54% (865/1590)
>全く違うグループとして扱いたいので一つのテーブルでは管理できません。 >二つに分けてユーザーの解析などを行いたいのです。 「まったく違うグループ」というだけで、テーブル定義は基本的に同じなのですよね。であれば、グループの列を作って使う側で選別する方が楽ではないかというのがANo.1だと思います。解析などはどうとでも書けます。 ましてグループの変更(pink→blieの移行など)が発生するという状況であれば、なおさらですね。
- yambejp
- ベストアンサー率51% (3827/7415)
なんのためにテーブルをわけているのでしょうか? pinkとblueを択一するフィールドを一個用意しておけば1テーブルで管理できますが
補足
回答ありがとうございます!! 全く違うグループとして扱いたいので一つのテーブルでは管理できません。 二つに分けてユーザーの解析などを行いたいのです。