我正在开发一个与H2数据库连接的java插件.我真正想要的是"插入忽略"声明; 但是,我知道H2并不支持这一点.我也知道Merge,但这真的不是我想要的,如果记录存在我不想改变它.
我正在考虑的是只运行插入并让重复键异常发生.但是,我不希望这填写我的日志文件.数据库调用发生在我无法更改的导入类中.所以我的问题是:
谢谢.
Tho*_*ler 10
一种解决方案是使用:
insert into test
select 1, 'Hello' from dual
where not exists(select * from test where id = 1)
Run Code Online (Sandbox Code Playgroud)
这适用于所有数据库(双部分除外;您可能需要创建自己的虚拟表,其中包含一行).
要禁用日志记录异常,请附加;trace_level_file=0
到数据库URL:
jdbc:h2:~/test;trace_level_file=0
Run Code Online (Sandbox Code Playgroud)
或运行SQL语句:
set trace_level_file 0
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4536 次 |
最近记录: |