我有一个应用程序从Web获取数据并将其插入H2 DB。在极少数情况下,插入的值大于SQL列大小。在这些情况下,我想自动修剪值的结尾(至少对于字符串)。我不关心数据丢失,因为它只涉及向最终用户显示的信息值。
的信息:
- 对于MySQL,我发现了STRICT参数(Automatically trimming length of string submitted to MySQL)。我找不到h2的等效参数吗?
- 我想避免在代码中检查字符串长度,因为它可能影响许多字段。
系统:
- OS:win / osx / linux
- DB:h2嵌入式1.3.173(可以更新到最新版本)
答案 0 :(得分:2)
您可以在PreaparedStatement上创建一个包装器并在那里截断长字符串
...
public void setString(int i, String str) {
str = str.length() > max ? str.substring(0, max) : str;
target.setString(str, i);
}