如果插入/更新时太长,则自动修剪字符串

时间:2013-11-15 09:52:58

标签: java sql h2

我有一个应用程序从Web获取数据并将其插入H2 DB。在极少数情况下,插入的值大于SQL列大小。在这些情况下,我想自动修剪值的结尾(至少对于字符串)。我不关心数据丢失,因为它只涉及向最终用户显示的信息值。

的信息:
  - 对于MySQL,我发现了STRICT参数(Automatically trimming length of string submitted to MySQL)。我找不到h2的等效参数吗?   - 我想避免在代码中检查字符串长度,因为它可能影响许多字段。

系统:
  - OS:win / osx / linux
  - DB:h2嵌入式1.3.173(可以更新到最新版本)

1 个答案:

答案 0 :(得分:2)

您可以在PreaparedStatement上创建一个包装器并在那里截断长字符串

...

public void setString(int i, String str) {
    str = str.length() > max ? str.substring(0, max) : str;
    target.setString(str, i);
}