こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

PHPとMySQLを使ってサイト構築しています。
MySQLのデータベース「group_color」にはテーブル「pink」とテーブル「blue」があります。

サイトでログインしている会員ユーザーの情報が「pink」に入っていてユーザーが
”ブルーグループに変更する”というボタンを押すと、テーブルpinkに入っている情報がテーブルblueに移行するようにしたいのですが、PHPの表記はどのようになりますか?

「ログインしている会員の情報」を移行させたいです。

テーブルのフィールドは
・id
・name
・birthday
となっています。

よろしくお願いいたします。

投稿日時 - 2012-07-02 23:33:29

QNo.7568718

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

ちなみにidが主キーだとして、pinkとblueが別管理しているとなると
普通の管理をしていると競合してしまいます

たとえばpinkのid=1が田中さんだとして、blueのid=1にすでに鈴木さんがいると
田中さんはpinkからblueに移動できません
たとえば別管理テーブルをつかうとか、移動の際に一定の数を足し引きするなど
工夫をすれば競合は防げますが、煩雑で堅牢さを損なうためあまりお勧めできません。

最初から1つのテーブルで管理していれば
田中さんのidと鈴木さんのidは競合することはなく、
グループをわけるフィールドだけみて、pink組とblue組をわけることができます

投稿日時 - 2012-07-03 15:22:30

ANo.3

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

投稿日時 - 2012-07-03 13:28:00

ANo.2

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

「まったく違うグループ」というだけで、テーブル定義は基本的に同じなのですよね。であれば、グループの列を作って使う側で選別する方が楽ではないかというのがANo.1だと思います。解析などはどうとでも書けます。

ましてグループの変更(pink→blieの移行など)が発生するという状況であれば、なおさらですね。

投稿日時 - 2012-07-03 08:11:47

ANo.1

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

投稿日時 - 2012-07-02 23:46:06

補足

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

投稿日時 - 2012-07-03 00:23:50

あなたにオススメの質問