1
我使用Sequel访问MySql和SQL Server数据库。续集事务涵盖提交期间的错误
续集允许我做交易是这样的:
@client = Sequel.connect(config)
@client.transaction do
@client.execute("DELETE FROM UserGroup WHERE UserId = #{user_id}")
@client.execute("DELETE FROM User WHERE Id = #{user_id}")
end
因此,如果出现错误与我的疑问,该交易将回滚,一切都会好的。
如果我的查询正常,但在提交的时候数据库出现问题并且提交失败,Ruby代码是否会检测到并且失败呢?
相关:http://stackoverflow.com/questions/3960189/can-a-commit-statement-in-sql-ever-fail-how –