【问题标题】:How to Insert BigInteger into MySQL database using java如何使用 java 将 BigInteger 插入 MySQL 数据库
【发布时间】:2012-07-08 19:50:21
【问题描述】:

我的问题是:如何在 MySQL DB 中将 BigInteger 变量插入为 BIGINT?在我看来Java中的preparedstatement对象没有方法支持这种类型?

【问题讨论】:

标签: java mysql


【解决方案1】:

根据this documentation,BIGINT 在 MySQL 中只是一个 64 位整数 - 所以使用setLong。这对于 MySQL 中的签名 BIGINT 类型应该没问题。不幸的是,Java 没有“无符号长”类型,因此如果您的数据库中有一个无符号 BIGINT,这可能会更棘手 - 您可以尝试仍然使用setLong,看看它是否只是溢出以“自然”的方式。

【讨论】:

  • @JuryA:“Java 给出错误”非常含糊。请编辑您的问题以显示您尝试使用它的方式、数据库架构是什么样的以及错误是什么。
  • 我不记得确切的错误语法。我所做的是:preparedStmt.setLong (myIndex, myBigIntNo);。错误含义是Java由于数据类型冲突而无法插入值(我的数字在Java中定义为BigInteger,DB中的字段定义为BIGINT)。目前,我通过将数字从 BigInt 转换为 Byte[] 并将其作为 Blob 存储在 MySQL DB 中解决了这个问题。一旦我确保它工作正常,将很快发布解决方案。我还在测试它。
  • @JuryA:好吧,我建议您编写一个简短但完整的程序来演示问题,将其编辑到问题中,并包含错误,而不是凭记忆也发消息。
猜你喜欢
  • 2015-08-02
  • 2012-12-05
  • 2012-10-18
  • 2018-04-20
  • 2017-01-11
  • 2018-08-06
  • 2019-11-17
  • 2011-08-06
  • 2018-05-04
相关资源
最近更新 更多