Пишу бота Discord и бота Twitch. В настоящее время я пишу функцию для сохранения идентификаторов Twitch и Discord пользователей в базе данных.
Это моя текущая функция:
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. Но как только он попадает в базу данных, номер меняется.
Мой идентификатор Discord: 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.
Я сравнивал введенные значения с теми, что есть в базе данных, и не вижу никакой корреляции
Поинти, какие максимальные значения может обрабатывать JavaScript?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Оказывается, discord_id слишком велик для JavaScript. Таким образом, JS округляет последнее до цифр (следовательно, заканчивается на 00). Поэтому я думаю, что просто сделаю discord_id строкой в базе данных
К сожалению, у меня нет ответа, но есть ли способ распечатать запрос к базе данных в момент выполнения? Так что, возможно, в ORM или в том, что вы используете; может быть в node_modules