我正在写一个不和谐机器人和抽搐机器人。我目前正在编写一个函数,将用户的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
,它是我正确的不和谐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成为一个字符串