2012-01-20 17 views
0

現在、asp.netメンバーシッププロバイダを使用していますが、以下に示すようないくつかのテーブルがあります。あるテーブルから別のテーブルへの列の追加

enter image description here

そして、これでユーザーの情報は、このようななど、ユーザ名、パスワード、電子メールとして保存されている二つの主要なテーブルがあります。..

今、私は会員table.Soでパスワード欄を持っているIだろうそのコピーをusersテーブルに含めるのが好きです。

どうすればいいですか?

+0

なぜあなたはそれをしたいですか?これはデータベース設計の最も基本的なルールを破ってしまい、ひどい場合はデータの整合性を簡単に破ることができます。 – HLGEM

+0

それは私がそれが完全に壊れている場合、私はそれをコピーする必要があるので、私はそれを削除していないので、それを行うために他の可能性があるので、それは悪い考えです。 – coder

+2

なぜあなたはこれをしたいですか?たぶん、あなたが本当の問題を理解していれば、解決策を指摘できます。このようなデータを繰り返す必要はありません。はい、私はあなたにそれをする方法を教えてもらえますが、あなたがしたいことが、通常は悪い考えであることを知っているので、それは無責任で、私にとってはプロフェッショナルではありません。 – HLGEM

答えて

3

実際には、ユーザーテーブルに「パスワード」フィールドを作成し、メンバーシップテーブルの内容をコピーすることは、HLGEMのコメントで既に指摘されているように、良い考えではありません。

実際にユーザーテーブルを照会する場合は、同じクエリのメンバーシップテーブルからパスワードを取得します。なぜ、テーブルに参加しないのですか?

SELECT aspnet_Membership.Password, aspnet_Users.* 
FROM aspnet_Membership 
INNER JOIN aspnet_Users ON aspnet_Membership.UserId = aspnet_Users.UserId 

あなたは本当に多くの場合、このクエリが必要な場合は、ビューとして、それを作成することができます。

CREATE VIEW YourUserView AS 
SELECT aspnet_Membership.Password, aspnet_Users.* 
FROM aspnet_Membership 
INNER JOIN aspnet_Users ON aspnet_Membership.UserId = aspnet_Users.UserId 
+0

@ Christian-Yesあなたのコメントや提案に同意し、あなたが言うことをそれらに適用しようとします。 – coder

0

を私はすべてのMSによって提供されるようにスキーマを変更することに対して助言するだろう。あなたがサポートを呼び出す必要がある状況に自分自身がいると、あなたがそれをしたことが分かった場合、彼らは助けていないという権利の範囲内にいます。

関連する問題