![](/img/trans.png)
[英]How can I update my DB with a new version without interference with clients (golang / sqlite3)?
[英]Can I increase number value for each new user in sqlite3 database use golang?
我問是否可以使用golang和xorm在sqlite3數據庫中增加每個新用戶的ID號而不會引起異步問題?
例如這是我的數據庫
sid int
username string
password string
現在的問題是,例如,我之前有5個用戶,最后一個用戶sid為5,因此可以增加用戶6的sid數量而不會引起問題嗎?
主要的問題是這個。 在我的方法中,服務器收到新的注冊請求。 服務器從sqlite3數據庫檢查最后一個sid。 例如,如果最后一個sid為5,則服務器將這個數字加+ 1,這樣我們的sid將為6,但是當服務器繁忙時嘗試將新用戶保存到sid 6時,同時另一個人想要注冊會導致錯誤已導致sid 6被占用。 我知道這不是專業方法,現在嘗試找到solotion。
不要讓服務器代碼生成ID。 讓DB來完成這項工作。 SQLite具有此任務的AUTOINCREMENT
關鍵字。
編輯:但是,正如SQLite文檔明確說明的那樣,建議在AUTOINCREMENT
之上使用INTEGER PRIMARY KEY
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.