sql >> Base de Datos >  >> RDS >> Mysql

JDBC, MySQL:obtener bits en una columna BIT (M! =1)

Para configurar un BIT(M) columna en MySQL

Para M==1

setBoolean(int parameterIndex, boolean x)

Del javadoc

Para M>1

El soporte para BIT(M) donde M!=1 es problemático con JDBC como BIT(M) solo se requiere con SQL-92 "completo" y solo unas pocas bases de datos lo admiten.

Consulte aquí Asignación de tipos SQL y Java:8.3 .3 bits

Lo siguiente me funciona con MySQL (al menos con MySQL 5.0.45, Java 1.6 y MySQL Connector/J 5.0.8)

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

Esto utiliza la sintaxis especial b'110101010' de MySQL para establecer el valor de las columnas BIT.