Mysql
 sql >> Base de données >  >> RDS >> Mysql

JDBC, MySQL :mettre des bits dans une colonne BIT(M!=1)

Pour définir un BIT(M) colonne dans MySQL

Pour M==1

setBoolean(int parameterIndex, boolean x)

Depuis la javadoc

Pour M>1

La prise en charge de BIT(M)M!=1 est problématique avec JDBC en tant que BIT(M) n'est requis qu'avec SQL-92 "complet" et seuls quelques bases de données le prennent en charge.

Vérifiez ici Mappage des types SQL et Java :8.3 .3 BIT

Ce qui suit fonctionne pour moi avec MySQL (au moins avec MySQL 5.0.45, Java 1.6 et MySQL Connector/J 5.0.8)

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

Cela utilise la syntaxe spéciale b'110101010' de MySQL pour définir la valeur des colonnes BIT.