gpt4 book ai didi

java - 如果表不存在,如何使用 Derby Db 创建表

转载 作者:IT老高 更新时间:2023-10-28 21:18:10 27 4
gpt4 key购买 nike

我是 apache derby 的新手,我似乎无法工作

    CREATE TABLE IF NOT EXISTS table1 ...

可以在 MySql 等中实现。当我尝试在我的 Java 程序中运行这个 SQL 语句。

我在文档页面中查看了 Derby Db Create Statements ,但找不到这样的替代方案。

最佳答案

创建表,捕获SQLException并检查 SQL 状态码。

完整的错误代码列表见 here 但我找不到 Table <value> already exists ;大概是X0Y68 . 你需要的代码是X0Y32 .

只需运行一次代码并打印错误代码。不要忘记添加测试以确保代码有效;这样,您可以捕获错误代码中的更改(不应该发生......)。

在我的项目中,我通常会添加一个带有静态方法的辅助类,这样我就可以编写:

} catch( SQLException e ) {
if( DerbyHelper.tableAlreadyExists( e ) ) {
return; // That's OK
}
throw e;
}

另一个选项是运行 SELECT对照表检查状态码(应该是 42X05 )。但这是您需要发送的第二条命令,它不提供任何额外信息。

更糟糕的是,它可能因“表不存在”以外的其他原因而失败,因此“创建并忽略错误”更好地 IMO。

关于java - 如果表不存在,如何使用 Derby Db 创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5866154/

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