假設我有兩個表(主鍵 - >外鍵),其中主鍵表中的一條記錄對應於外鍵中的多條記錄,所以如果我想爲兩個主鍵創建插入頁面(例如使用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'之間的表獨佔訪問(通過序列化事務或者只是交叉手指和希望實現) –