创建表,捕获
SQLException并检查SQL状态代码。
完整的错误代码列表可以在这里
找到,但我找不到您需要的代码是Table <value> already exists
;大概是X0Y68
。
X0Y32。
只需运行一次代码并打印错误代码。不要忘记添加测试以确保代码有效。这样,您可以捕获错误代码中的更改(不应发生…)。
在我的项目中,我通常添加带有静态方法的帮助程序类,这样我可以编写:
} catch( SQLException e ) { if( DerbyHelper.tableAlreadyExists( e ) ) { return; // That's OK } throw e;}另一个选择是
SELECT对表运行a 并检查状态代码(应为
42X05)。但这是您需要发送的第二条命令,它不提供任何其他信息。
更糟糕的是,它可能会由于“表不存在”以外的其他原因而失败,因此“创建并忽略错误”是更好的IMO。



