拉力賽DB新手問題:數據庫:從多服務器插入
我試圖插入用戶記錄到數據庫。 id類型可以是自動增量序列或INT。
如何插入帶有唯一ID的記錄,並且可以返回該ID,確保如果請求由多個應用程序服務器處理,那麼我不會生成重複的ID。
例如
- 服務器1只需要插入:( '約翰', '史密斯',25)
- 服務器2只需要插入:( '約翰', '藍波',25)
的應用程序服務器需要將生成的記錄的標識返回。我不能做基於屬性,因爲
- 他們可能是重複
- 它是昂貴的一個選擇。
一個解決方案是,每個應用程序服務器還插入服務器ID,服務器更新號,組合,然後在此基礎上進行選擇。
我覺得這應該是一個普遍的問題,會有一個更簡單的解決方案。
我使用PostgreSQL如果它很重要。
哈,如果僅僅是一些常見的和通用的問題的意思SQL中有一個標準的解決方案。 'LIMIT'和'OFFSET'。或者是upsert問題。 –