假设我有两个表(主键 - >外键),其中主键表中的一条记录对应于外键中的多条记录,所以如果我想为两个主键创建插入页面(例如使用ASP.NET)表和外键表,我怎样才能获得主键值插入外键表? (通常我采取了最大(的PK),但我很好奇,以找到更好的解决方案)处理主键 - 外键表插入?
0
A
回答
0
我假设你使用SQL Server,因为你提到使用ASP.NET。在多用户系统中使用Max(PK)不是一个好主意,因为最终您最终会得到不正确的主键值。还有一些资源问题需要考虑。一般来说,这种方法应该避免。
有几种方法可以完成你想要做的事情。一种方法是通过存储过程进行插入。用于创建主键行的存储过程将返回新行的Id值,然后可用于插入外键行。但不要使用Max(PK值)。使用SCOPE_IDENTITY()值。这假定你正在为你的PK值使用一个身份类型。你没有说明你实际使用的是什么。
+0
如果他正在使用MySQL,它将是LAST_INSERT_ID()而不是SCOPE_IDENTITY() –
相关问题
- 1. 插入主键时插入外键?
- 2. TransactionScope主键插入,然后外键插入 - >插入2主键行
- 3. 主键和外键的插入
- 4. 重复插入主键,外键
- 5. 为插入的每个外键插入主键
- 6. Android SQLite - 主键 - 插入表
- 7. 在将外键插入子表之前查找主键的值
- 8. MySQL的插入2个表一次有主键和外键
- 9. 同时插入带有主键和外键的表格
- 10. MYSQL插入主键在另一个表中作为外键
- 11. 插入主键标识(ID)到其它表作为外键
- 12. 将自动增量主键插入到外键表中
- 13. 用外键插入表中?
- 14. 插入外键SQL表
- 15. 将外键值插入表
- 16. 将外键插入表中
- 17. 插入到外键表中
- 18. 插入自主键
- 19. DataGridView插入主键
- 20. Mysql的插入与外键指主ID
- 21. 主要外键减慢InnoDB插入
- 22. 外国主键插入(增量发行)
- 23. mysql外键插入
- 24. 插入值外键
- 25. 插入由外键
- 26. MYSQL插入外键
- 27. MySQL将数据插入表中,其外键不是参考表的主键
- 28. 我如何去主键值插入到另一个表主键?
- 29. 主键和外键
- 30. 主键和外键
取决于正在使用的数据库系统。但是'MAX()'通常是一个坏主意,因为它需要'INSERT'和'SELECT'之间的表独占访问(通过序列化事务或者只是交叉手指和希望实现) –