我问是否可以使用 golang 和 xorm 在 sqlite3 数据库中增加每个新用户的 ID 号而不会导致异步问题?我将使用 golang 作为 http 服务器。所以可能很多用户在同一时间 http 请求和注册例如这是我的数据库sid intusername stringpassword string现在的问题是,例如我之前有 5 个用户,最后一个用户 sid 是 5,所以可以增加用户 6 的 sid 号而不会出现问题吗?主要问题是这个;在我的方法中,当服务器收到新的注册请求时。服务器检查来自 sqlite3 数据库的最后一个 sid。例如,如果最后一个 sid 是 5 服务器增加这个数字 + 1 所以我们的 sid 得到 6 但是当服务器繁忙时尝试将新用户保存到 sid 6 并且同时另一个人想要注册导致错误到 sid 6 已经被占用。我知道这不是专业方法,现在尝试查找 solotion。
1 回答
米脂
TA贡献1836条经验 获得超3个赞
不要让服务器代码生成 ID。让数据库完成这项工作。SQLite 有AUTOINCREMENT
这个任务的关键字。
编辑:但是正如 SQLite 文档清楚地告诉使用的那样,INTEGER PRIMARY KEY
建议使用AUTOINCREMENT
.
- 1 回答
- 0 关注
- 74 浏览
添加回答
举报
0/150
提交
取消