1

登録とユーザーという 2 つのテーブルがあります。

登録表:

PID(primary key,autoincrement)
email
password
name
etc

ユーザー:

UserID
Address
etc

誰かが登録されると、データは登録テーブルに保存されます。

ユーザーテーブルにデータを挿入したい場合、自分自身を登録したばかりの特定の人にデータを挿入するにはどうすればよいですか?

例:登録表

PID  email        name
1    abc@ab.com   xyz

ユーザーテーブルにデータを挿入したいPID=1

また、ログイン後 (電子メールとパスワードを使用して行われます)、その人だけが USER テーブルにデータを挿入できます。

これに対するクエリは何ですか?

テーブルにいくつかの一般的な列を追加する必要がありUserますか?

4

2 に答える 2

0

ユーザーテーブルに新しい列を追加します。

PId-登録テーブルのPid列への外部キーである必要があります。ここで外部キーについて読んでください:

http://www.w3schools.com/sql/sql_foreignkey.asp

ユーザーテーブルに挿入するクエリは次のようになります。

Insert into Users(pid,email,name) values(1,'abc@ab.com','xyz')

すでに登録されている資格情報を持つそのようなユーザーがいないことを確認したい場合がありますか?したがって、最初にそのようなユーザーを選択し、存在しない場合にのみ挿入してみてください。確認するには、最初に次を追加する必要があります。

If Not exists(select 1 from Registration where pid = 1)

ログイン時にデータをフェッチするためのクエリは次のとおりです。

Select * from users join registration on users.pid = registration.pid
Where registration.username = 'given user name'

または、ユーザー名の代わりに、2つのテーブルのいずれかの他の列で比較します。両方のテーブルを1つのテーブルに結合したので、それを行うことができます。

ここに参加することについて読んでください:

http://msdn.microsoft.com/en-us/library/ms191517(v=sql.105).aspx

于 2012-10-31T22:16:47.367 に答える
0

テーブル登録テーブルにトリガーを作成するだけで、誰かが登録すると、ユーザーテーブルにも自動的にデータが挿入されます。

そのために、登録テーブルのトリガーの後に挿入を書き込みます。

たとえば、このリンクをチェックしてください:

http://www.dotnet-tricks.com/Tutorial/sqlserver/OPUH170312-After-Trigger,-Instead-of-Trigger-Example.html

于 2012-11-01T04:59:49.497 に答える