我可以为sqlite3数据库中使用golang的每个新用户增加数值吗?

时间:2019-02-12 15:02:53

标签: database go sqlite

我问是否可以使用golang和xorm在sqlite3数据库中增加每个新用户的ID号而不会引起异步问题?

  • 我将对http服务器使用golang。因此可能许多用户同时http请求注册

例如,这是我的数据库

sid int
username string
password string

现在的问题是,例如我之前有5个用户,最后一个用户sid为5,那么可以增加用户6的sid数量而不会引起问题吗?

主要问题是这个;在我的方法中,服务器收到新的注册请求。服务器从sqlite3数据库检查最后一个sid。例如,如果最后一个sid为5,则服务器将这个数字加+ 1,这样我们的sid将为6,但是当服务器繁忙时尝试将新用户保存到sid 6时,同时另一个人想要注册会导致错误已导致sid 6被占用。我知道这不是专业方法,现在尝试查找酥油。

1 个答案:

答案 0 :(得分:3)

不要让服务器代码生成ID。让DB来完成这项工作。 SQLite为此任务使用了AUTOINCREMENT关键字。

编辑:但是,正如SQLite文档明确说明的那样,建议使用INTEGER PRIMARY KEY而不是AUTOINCREMENT