javascript - 插入的 BIGINT 与 SQL 数据库中显示的不同
问题描述
我正在编写一个 Discord 机器人和 Twitch 机器人。我目前正在编写一个函数来将用户 Twitch 和 Discord ID 保存在数据库中。
这是我目前的功能:
add_discord(twitch_id, discord_id) {
this.get_user(twitch_id)
.then((user_data) => {
this.db.query(`UPDATE userdata SET discord_id = ${discord_id} WHERE identity_id = ${user_data[0]}`)
})
}
我identity_id
为每个用户使用一个唯一的。我已登录控制台discord_id
,这是我正确的 Discord ID。但是一旦它被放入数据库,数字就会改变。
我的不和谐 ID 是 522855210926735422
但是数据库中显示的数字是522855210926735400
(22 关正确值)
我正在使用 BIGINT 的discord_id
. 我之前也遇到过类似的问题,我之前通过将其存储为 VARCHAR 而不是 BIGINT 来修复它(我认为)。
任何建议都会很棒!
(这是来自查询的响应)
OkPacket {
fieldCount: 0,
affectedRows: 1,
insertId: 0,
serverStatus: 2,
warningCount: 0,
message: '(Rows matched: 1 Changed: 0 Warnings: 0',
protocol41: true,
changedRows: 0
}
解决方案
原来discord_id
对于 JavaScript 来说太大了。所以 JS 将最后一个四舍五入为数字(因此以 00 结尾)。所以我想我只会让 discord_id 在数据库中成为一个字符串
推荐阅读
- java - RecyclerView 中的定位是如何工作的?
- html - 在行中的列中拉伸 div
- java - 如何将结果集映射到 JPA 中的自定义 POJO
- python - 用 python 集成两个模型
- javascript - 对象包含的元素上的事件侦听器
- c# - 我将我的项目升级到 .NET Framework 4.8 和新的包格式,现在我收到一条错误消息,提示缺少 System.Net.Http
- cassandra - 如何减少 cassandra 服务器上的负载以避免 NoHostAvailable 异常
- entity-framework-core - 在 EFCore 中,我如何搭建我的上下文然后开始进行迁移?
- python - 使用 .first() 方法没有结果
- c - 保存和加载具有结构数组的文本文件