1

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

信息:
- 对于 MySQL,我找到了 STRICT 参数(自动修剪提交给 MySQL 的字符串长度)。我没有找到 h2 的等效参数吗?
- 我想避免检查代码中的字符串长度,因为它可能会影响许多字段。

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

4

1 回答 1

2

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

...

public void setString(int i, String str) {
    str = str.length() > max ? str.substring(0, max) : str;
    target.setString(str, i);
}
于 2013-11-15T09:54:45.040 回答