I'm trying to insert some Binary data into a MySQL database without using prepared statements. The reason for this is that I concatenate thousands of statements into a single insert an run that once. (Exactly how the MySQL dump & import works)
I have tried the following statements, but the are all failing:
INSERT INTO my_table VALUES (1,'g=���F|�}X���',2);
INSERT INTO my_table VALUES (1,CAST( 'g=���F|�}X���' AS BINARY),2);
INSERT INTO my_table VALUES (1,CONVERT( 'g=���F|�}X���', BINARY),2);
INSERT INTO my_table VALUES (1,BINARY 'g=���F|�}X���',2)
The error I get is:
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'binary_data' at row 1
The code I use to execute the statement is simply:
conn.createStatement().executeUpdate(sql);
PreparedStatements work fine (but are too slow in this case)
The actual String I in the database displays a little differet:
g=÷óF|¸}X£ì[
Binary View: 67 3d 81 f7 19 f3 46 7c b8 7d 58 8c 10 a3 ec 5b
Java Bytes: 103, 61, -127, -9, 25, -13, 70, 124, -72, 125, 88, -116, 16, -93, -20, 91
Could this be something to do with Encoding ?
Any hints much apprecaited, Ro