1

我有两个表,称为注册和用户。

登记表:

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

只需在表注册表上创建触发器。这样当有人注册时,它也会自动将数据插入到用户表中。

在注册表中触发后写入插入。

查看此链接,例如:

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

于 2012-11-01T04:59:49.497 回答
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'

或者,不是用户名,而是通过两个表中的任何一个中的任何其他列进行比较。您可以这样做,因为您将两个表连接到一个表中。

在此处阅读有关加入的信息:

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

于 2012-10-31T22:16:47.367 回答