为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
隔江千里 2023-06-05 18:25:39
我问是否可以使用 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.



查看完整回答
反对 回复 2023-06-05
  • 1 回答
  • 0 关注
  • 74 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信