我读到为了填充Insert查询的二进制值,你需要创建一个PreparedStatement,然后使用setBytes()API将字节数组设置为二进制参数。
我的问题是,当我做同样的事情时,我得到了数据异常:字符串数据,右截断"。
我读到这一点,如果我们填充大小超过声明大小的值,可能会出现这种情况。但在这里我使用的是一个非常小的字节[](" s" .getbytes())。
我也尝试了setBinaryStream()但结果相同!
我也试过设置空值。我仍然得到同样的错误。
答案 0 :(得分:0)
VARBINARY或LONGVARBINARY列的长度必须足以接受您要插入的数据。您的CREATE TABLE语句可以包含VARBINARY作为列的类型,每个数据项最多允许16MB。
如果使用BINARY作为类型,则表示只允许一个字节。