Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

JDBC, MySQL:obtendo bits em uma coluna BIT(M!=1)


Para definir um BIT(M) coluna no MySQL

Para M==1
setBoolean(int parameterIndex, boolean x)

Do javadoc

Para M>1

O suporte para BIT(M) onde M!=1 é problemático com JDBC como BIT(M) só é necessário com SQL-92 "completo" e apenas alguns bancos de dados suportam isso.

Verifique aqui Mapeando SQL e tipos de Java:8.3 .3 BIT

O seguinte funciona para mim com MySQL (pelo menos com MySQL 5.0.45, Java 1.6 e MySQL Connector/J 5.0.8)
...
PreparedStatement insert = con.prepareStatement(
    "INSERT INTO bittable (bitcolumn) values (b?)"
);
insert.setString(1,"111000");
...

Isso usa a sintaxe especial b'110101010' do MySQL para definir o valor das colunas BIT.