我有两个名为registration和user的表。
注册表:
PID(primary key,autoincrement)
email
password
name
etc
用户:
UserID
Address
etc
如果有人注册,则数据存储在注册表中。
现在,如果我想在用户表中插入数据,那么如何为刚刚注册的特定人员插入数据呢?
Ex:注册表
PID email name
1 abc@ab.com xyz
我想将数据插入到具有PID=1
登录后(使用电子邮件和密码完成)只有人才能在USER表中插入数据。
对此有什么疑问?
我应该在User
表中添加一些公共列吗?
答案 0 :(得分:0)
向Users表添加新列:
PId - 它应该是注册表中Pid列的外键。在这里阅读有关外键的信息:
http://www.w3schools.com/sql/sql_foreignkey.asp
要插入到users表中的查询应为:
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
答案 1 :(得分:0)
只需在表注册表上创建触发器。因此,当有人注册它时,它也会自动将数据插入到用户表中。
用于在注册表中触发后的写入插入。
查看此链接,例如: