【问题标题】:Insert data into two different, but connected tables in SQL在 SQL 中将数据插入两个不同但连接的表中
【发布时间】:2022-01-19 15:56:33
【问题描述】:

我为一个 MVC 项目创建了一个注册页面。我想将用户信息添加到 SQL 数据库,但是在数据库中我创建了两个不同但连接的表,personaddressaddressIdperson 表的外键。我不知道如何同时向personaddress 表添加人员信息。

[图片_person]

[图片地址]

【问题讨论】:

  • 您使用的是 .NET Framework(4.8 或更低版本)还是 .NET Core (2+ / 3+) 还是 .NET (5 / 6)?您是否已经在使用 ORM 包,例如 Entity Framework 或 EF Core?
  • 具体来说,您卡在哪里了?您是否至少将INSERT 完成到您的表Person 中,然后只是不确定如何将生成的INSERT 的主键用于下一个INSERTAddress 表中?到目前为止你有什么代码?
  • 旁注:如果一个人住在角落的建筑物里怎么办?或者如果您想为同一个人存储工作地址和家庭地址?这是一个多对多关系的经典案例,而不是一对多。
  • 根据问题指南,请不要发布代码、数据、错误消息等的图像 - 将文本复制或键入问题中。请保留将图像用于图表或演示渲染错误,无法通过文本准确描述的事情。

标签: sql asp.net sql-server asp.net-mvc model-view-controller


【解决方案1】:

您可以创建一个stored procedure,它将获取两个记录所需的所有参数,并对两个表执行insert into 命令。您还需要在插入逻辑周围wrap a transaction,因此如果其中一个插入成功但另一个失败,那么您的数据库将安全地回滚并通知您错误。否则您的事务可以提交。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 2019-07-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多