gpt4 book ai didi

java - MySQL 和 Java - 插入表时抛出异常

转载 作者:行者123 更新时间:2023-11-29 13:57:19 26 4
gpt4 key购买 nike

我是 MySQL 新用户,尝试编写通过 Java 操作数据库的程序。

有名为users的表,具有以下属性|用户名 |电子邮件 | ROLE |,其中 USERNAMEPRIMARY KEY,其余属性为 NOT NULL

假设我执行INSERT INTO users,因为USERNAME上存在主键约束,MySQL 应该抛出错误。如何抛出此错误以及如何在 JAVA 中捕获它?我是否需要编写存储过程来引发错误,或者 INSERT INTO 语句也具有此功能?

最佳答案

如果违反了主键,则会抛出SQLException,并附带一条消息,其中包含所违反的约束的名称。您的异常处理可能如下所示:

try {
//do the insert
} catch (SQLException e) {
if(e.getMessage().contains("MY_CONSTRAINT_NAME")) {
//duplicate key
} else {
//some other error
}
}

另一种方法是检查SQLException.getSQLState()SQLException.getErrorCode()

我建议使用Spring JDBC负责SQLException translation通常会减少您需要编写的 JDBC 代码量。

关于java - MySQL 和 Java - 插入表时抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15646174/

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