javascript - 如何停止在 MySQL 中舍入 int 值
问题描述
我是一个不和谐的机器人开发者。我正在尝试将 MySQL 用于我的不和谐机器人。我正在尝试将公会 ID 保存在我的表中。当我发布到表格时,公会 ID 会自动四舍五入。例如,我的公会 id 是837465019283745861。它像837465019283745900一样发布。我正在使用mysql模块。
我的表:
CREATE TABLE guilds (
id INT PRIMARY KEY AUTO_INCREMENT,
guild_id BIGINT(18) NOT NULL);
我的邮政编码:
const guild = 837465019283745861;
connection.query('INSERT INTO guilds (guild_id) VALUES (?)', guild, function(error, results, fields) {
if (error) throw error;
console.log('Data sent!');
});
解决方案
这些值不会在 MySQL 中四舍五入。那是 JavaScript 搞砸了你,因为你没有使用BigInt
:
const guild = 837465019283745861n;
除非另有说明,否则 JavaScript 中的所有数字实际上都是浮点数。这导致对较大数字进行四舍五入。
推荐阅读
- lua - LUA|MTA 尝试索引全局“zoneName”(零值)
- snowflake-cloud-data-platform - 将数据文件从内部阶段表复制到逻辑表
- python - 无法使用 send_keys 或 requests 上传 pdf 文件
- javascript - (节点:656)UnhandledPromiseRejectionWarning:ReferenceError:前缀未定义错误
- html - 如何在不关闭它们的情况下改进浏览器自动完成建议?
- mysql - 选择与指定值不匹配的行(多个条目)
- javascript - reference class instance in sinon.stub(myClass.prototype,'method').returns();
- azure - terraform azurerm : Error waiting for the Azure CLI: exit status 1
- java - 在 MapStruct 中使用qualifiedBy 或qualifiedByName 参数不起作用
- bash - 使用 docker run 在任何给定文件上运行带有参数的 shell 脚本