gpt4 book ai didi

java - 数据库特定错误代码多久更改一次

转载 作者:搜寻专家 更新时间:2023-10-30 23:41:40 25 4
gpt4 key购买 nike

我需要在数据库返回唯一键违规异常时抛出特定的异常。为此,我使用 getSQLState() 和 getErrorCode() 来识别何时违反了唯一键约束。

我想知道供应商特定的错误代码和 SQL 状态是否更改以及更改的频率

如果我使用 sqle.getErrorCode() 和 sqle.getSQLState() 来识别异常类型,我需要多久更改一次代码。

我正在测试的数据库是 Postgres、Oracle 和 MySQL。代码看起来有点像这样

catch (SQLException sqle) {
if(sqle.getSQLState().equals(someSQLState) && sqle.getErrorCode() == someErrorCode) {
throw new SomeException(SomeParameters);
}
}

最佳答案

Oracle - 错误代码永远不会改变。对此没有书面保证,但错误代码是 thoroughly documented .我从未见过任何更改,而且 Oracle 肯定知道更改错误代码将是灾难性的。

PostgreSQL - 上述答案(针对 Oracle)也适用于 PostgreSQL。下面的说法可以在the documentation中找到:

Applications that need to know which error condition has occurred should usually test the error code, rather than looking at the textual error message. The error codes are less likely to change across PostgreSQL releases, and also are not subject to change due to localization of error messages.

MySQL - ?

关于java - 数据库特定错误代码多久更改一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34335913/

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