这是我正在使用 Netbeans 和 MySQL 最新版本的问题 我在 MySQL 中使用 BIT(1) 字段类型来管理我的应用程序中的布尔类型
如果我使用此代码将数据存储在数据库中,一切正常
PreparedStatement st = con.prepareStatement("INSERT INTO `postetransfo`.`utilisateur`"
+ " (`dbLogin`, `dbMDP`, `dbNom`, `dbPrenom`, `dbAjPoste`, `dbModPoste`, `dbMajPoste`, `dbAjMesure`,"
+ " `dbModMesure`, `dbDroitAdmin`, `dbTracerAdmin`) VALUES (?,?,?,?,b'0',b'0',b'0',b'0',b'0',b'0',?)");
st.setString(1, login);
st.setString(2, "changemoi");
st.setString(3, nom);
st.setString(4, prenom);
//st.setString(5, "b'0'");
//st.setString(5, "b'0'");
// st.setString(6, "b'0'");
// st.setString(7, "b'0'");
// st.setString(8, "b'0'");
// st.setString(9, "b'0'");
st.setString(5, "TEST");
但是,当我想让所有查询变为动态时,我得到以下异常
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'dbAjPoste' at row 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4118)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2503)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2664)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2815)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1379)