sql >> Database >  >> RDS >> Mysql

JDBC, MySQL:bits in een BIT(M!=1) kolom krijgen

Een BIT(M) instellen kolom in MySQL

Voor M==1

setBoolean(int parameterIndex, boolean x)

Van de javadoc

Voor M>1

De ondersteuning voor BIT(M) waar M!=1 is problematisch met JDBC als BIT(M) is alleen vereist met "volledige" SQL-92 en slechts enkele DB's ondersteunen dat.

Kijk hier SQL- en Java-typen in kaart brengen:8.3 .3 BIT

Het volgende werkt voor mij met MySQL (tenminste met MySQL 5.0.45, Java 1.6 en MySQL Connector/J 5.0.8)

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

Dit gebruikt de speciale b'110101010'-syntaxis van MySQL om de waarde voor BIT-kolommen in te stellen.



  1. SQLite-JSON()

  2. Datetime opslaan als UTC in PHP/MySQL

  3. Records met maximale waarde ophalen voor elke groep gegroepeerde SQL-resultaten

  4. ODP.NET-verbinding pooling:hoe weet u of een verbinding is gebruikt?