gpt4 book ai didi

java - 插入到表中,如果表不存在,创建表然后插入

转载 作者:太空宇宙 更新时间:2023-11-03 10:54:09 24 4
gpt4 key购买 nike

我们需要一个 java 代码,它可以在表中插入行,如果表不存在,那么它将创建一个新的,然后插入到该表中。

就像我们正在跟踪对我们服务器的每个请求,然后将它们保存在一个表中。表名应该像request_month-name_*year*,是动态传递的。目的是保持每个月的表独立于其他表。

我们使用的代码是

try{
dao.insertTracking(object, year, month);
}catch(BadSqlGrammarException e){
dao.createTable(year, month);
dao.insertracking(object, year, month);
}catch(Exception e){
e.printStackTrace();
}

问题是 BadSqlGrammarException 也可以在许多其他情况下抛出。

所以我的问题是如何在不捕获广义异常然后再次处理的情况下有效地处理这种情况?

另外,我们可以先检查表是否存在,但是这样会给系统带来沉重的负担,因为每天要处理大量的请求。

使用 jdbctemplates 和/与 mysql。

最佳答案

您想稍微改变一下逻辑。如果表不存在则创建表,然后插入到表中:

create table if not exists tablename . . .

insert into tablename(cols)
select values;

如果您这样做,则不需要任何条件逻辑。无论表是否已存在,相同的代码都有效。

关于java - 插入到表中,如果表不存在,创建表然后插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22096547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com