在asp.net中从一个表到另一个表获取数据
我有两个表,分别是registration和user 登记表:在asp.net中从一个表到另一个表获取数据,asp.net,sql-server,Asp.net,Sql Server,我有两个表,分别是registration和user 登记表: PID(primary key,autoincrement) email password name etc 用户: 若任何人注册,则数据存储在注册表中 现在,若我想在用户表中插入数据,那个么我怎样才能为那个刚刚注册自己的人插入数据呢 例:登记表 PID email name 1 abc@ab.com xyz 我想将数据插入PID=1的用户表中 并且,在登录后(在电子邮件和密码的帮助下完成),只有用户才
PID(primary key,autoincrement)
email
password
name
etc
用户:
若任何人注册,则数据存储在注册表中
现在,若我想在用户表中插入数据,那个么我怎样才能为那个刚刚注册自己的人插入数据呢
例:登记表
PID email name
1 abc@ab.com xyz
我想将数据插入PID=1的用户表中
并且,在登录后(在电子邮件和密码的帮助下完成),只有用户才能在用户表中插入数据
对此有什么疑问
是否应在用户表中添加一些常用列?向用户表添加新列: PId-它应该是注册表中PId列的外键。请在此处阅读外键: 要插入到用户表中的查询应为:
Insert into Users(pid,email,name) values(1,'abc@ab.com','xyz')
Select * from users join registration on users.pid = registration.pid
Where registration.username = 'given user name'
也许您想检查是否没有这样的用户具有已注册的凭据?因此,可能首先尝试选择这样的用户,只有在没有用户时才插入,因此要进行检查,您应该首先添加:
If Not exists(select 1 from Registration where pid = 1)
登录时获取数据的查询应为:
Insert into Users(pid,email,name) values(1,'abc@ab.com','xyz')
Select * from users join registration on users.pid = registration.pid
Where registration.username = 'given user name'
或者,通过两个表中的任何一个表中的任何其他列进行比较,而不是使用用户名。您可以这样做,因为您将两个表合并到了一个表中
在此处阅读有关加入的信息:
只需在表注册表上创建触发器。这样,当有人注册时,它也会自动将数据插入到用户表中 对于注册表中触发器之后的写入插入 查看此链接,例如:
这两个表之间的关系如何?我没有看到一个明显的列作为关系的基础。不清楚登录后要做什么?是否再次插入用户表?从用户表中读取数据?可能会将列PID添加到用户表中,作为注册表的外键。我对数据库不太了解。我想添加到用户表中,并且该数据应该与注册表相关。耶..登录后,我想插入到用户表中,该详细信息应该与注册表相关,因此当我为用户获取数据时那个么我应该得到表格注册和用户的详细信息。请不要引用W3学校,他们颠覆标准,推广不良做法。更好的参考应该是微软甚至维基百科你是对的:但我想即使他们解释外键也不会出错: