gpt4 book ai didi

java - JDBC、MySQL : getting bits into a BIT(M! =1) 列

转载 作者:行者123 更新时间:2023-11-29 05:00:24 25 4
gpt4 key购买 nike

我刚开始使用 JDBC + MySQL。

我有几个 1/0 值,我想使用 PreparedStatement 将它们粘贴到数据库中。目标列是 BIT(M!=1)。我不清楚要使用哪种 setXXX 方法。我可以很容易地找到有关数据输出的引用资料,但我不知道数据是如何输入的。

这些值实际上作为应用程序使用的对象中的有序 boolean 值集合存在。此外,我偶尔会从具有 1/0 个字符的平面文本文件中导入数据。

最佳答案

在MySQL中设置BIT(M)

对于 M==1

setBoolean(int parameterIndex, boolean x)

来自javadoc

Sets the designated parameter to the given Java boolean value. The driver converts this to an SQL BIT value when it sends it to the database.


对于 M>1

BIT(M) 的支持,其中 M!=1 对于 JDBC 是有问题的,因为 BIT(M) 仅在“完整的”SQL-92,只有少数数据库支持它。

在这里查看 Mapping SQL and Java Types: 8.3.3 BIT

以下对我适用于 MySQL(至少适用于 MySQL 5.0.45、Java 1.6 和 MySQL Connector/J 5.0.8)

...
PreparedStatement insert = con.prepareStatement(
"INSERT INTO bittable (bitcolumn) values (b?)"
);
insert.setString(1,"111000");
...

这使用 MySQL 的特殊 b'110101010' 语法来设置 BIT 列的值。

关于java - JDBC、MySQL : getting bits into a BIT(M! =1) 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1601838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com