Sql server 将值插入SQL Server数据库
我创建了一个具有以下值的web表单Sql server 将值插入SQL Server数据库,sql-server,database,Sql Server,Database,我创建了一个具有以下值的web表单 名字 姓 地址行1 地址行2 城市 陈述 联系人1 联系人2 电子邮件id 密码 确认密码 单击提交按钮后,将调用存储过程savedata 姓名、地址和联系人字段保存在表个人详细信息中,而电子邮件和密码存储在登录详细信息中 表personal\u details有列user\u id int identity(1,1)pk。 在login\u detail表中定义了相同的user\u id int identity(1,1)fk 现在,是否有可能2个用户1
- 名字
- 姓
- 地址行1
- 地址行2
- 城市
- 陈述
- 联系人1
- 联系人2
- 电子邮件id
- 密码
- 确认密码
savedata
姓名
、地址
和联系人
字段保存在表个人详细信息
中,而电子邮件
和密码
存储在登录详细信息
中
表personal\u details
有列user\u id int identity(1,1)pk
。在
login\u detail
表中定义了相同的user\u id int identity(1,1)fk
现在,是否有可能2个用户1和2同时提交表单,然后用户1的个人详细信息被推送到表中,然后用户2的个人详细信息被推送到表中
正在分别将id生成为1和2
但对于登录详细信息,用户2数据首先被推送,然后是用户1…生成ID 1和2。。。哪些是错的
是否有其他方法可以为这两个表获取相同的ID
谢谢
这是我的第一个问题…很抱歉,如果我无法正确地构建它…您应该在单个事务中执行以下步骤序列,以确保此保存操作的原子性:
personal\u details
表login\u details
表中插入记录,用户id与上一步中获得的id相同此外,当两个表中的记录之间存在一对一的对应关系时,在两个表之间“垂直划分”用户的详细信息似乎并不合适。您可以只拥有一个表,除非有一个用户的属性为一个用户id携带多个值,即一对多关系。我对web开发非常陌生。。你能告诉我什么时候该打破这张桌子吗…还有这些多对一对一的关系。。。我只使用了存储过程…事务是否有任何不同。。。谢天谢地,只有当存在多值属性(如一个用户有多个地址,其中用户信息存储在一个表中,每个地址作为单独的记录存储在另一个表中)时,您才会“破坏”记录,地址记录中的外键引用用户id。Reg事务,这些BEGIN和COMMIT语句是可以在存储过程中使用的SQL语句。您可能想通过DB事务教程来更好地了解这一点。