Вставленный BIGINT отличается от того, который показан в базе данных SQL

Пишу бота 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
}

К сожалению, у меня нет ответа, но есть ли способ распечатать запрос к базе данных в момент выполнения? Так что, возможно, в ORM или в том, что вы используете; может быть в node_modules

Marijke Luttekes 09.04.2021 17:07

Значения Discord ID слишком велики, чтобы их можно было рассматривать как числа в JavaScript.

Pointy 09.04.2021 17:07

Я сравнивал введенные значения с теми, что есть в базе данных, и не вижу никакой корреляции

ThomasNotTom 09.04.2021 17:10

Поинти, какие максимальные значения может обрабатывать JavaScript?

ThomasNotTom 09.04.2021 17:10
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
11
1

Ответы 1

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

Другие вопросы по теме