我创建了一个读取文本文件并将其存储在数据库中的java应用程序。数据库有2个表因此为了存储文本的值,我按此顺序创建了两个预处理语句
这完美无缺。但是,当第二个表中存在语义错误时,第一个表中的数据仍然存储,这不是我想要的。
在一个坚果shell中,如果第二个表中有任何语义错误,我不希望在数据库中存储任何内容。那我该怎么办呢?
答案 0 :(得分:3)
它可能取决于您的数据库,但您应该使用事务,捕获任何异常并在数据不良的情况下回滚事务。
答案 1 :(得分:2)
您想要的是数据库中的事务,如果第二个插件出现问题,您可以回滚第一个插件。
您没有指定您正在使用哪种数据库连接技术,而是尝试查看其文档中的“交易”支持。
答案 2 :(得分:1)
您需要使用交易。将连接上的autocommit设置为false,执行2个语句。如果有异常,则捕获此并回滚事务,否则提交。感谢
答案 3 :(得分:0)
在将输入写入数据库之前验证输入。