微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mysql – 为什么不在SqlException上使用事务回滚进行groovy?

使用以下内容

import groovy.sql.sql
def sql = sql.newInstance("jdbc:MysqL://localhost:3306/eventDb", "user",
        "pwd", "com.MysqL.jdbc.Driver")

def sqlInsert = "INSERT INTO GTEST (EVENTID,TSTAMP,USER_ID,USER_FirsT_NAME) VALUES (?,?,?,?)"
def sqlParams = ['EVENTID':0, 'TSTAMP':'','USER_ID':'janew','USER_FirsT_NAME':'janewithaverylongnamesothatitdoesntfitwell']
sqlParams['TSTAMP'] = new Date()

sql.withTransaction {stmt ->
    def eventId = sql.executeInsert("INSERT INTO EVENTS (LOGID,TSTAMP) VALUES (2,CURRENT_TIMESTAMP)")
    sqlParams['EVENTID'] = eventId [0][0]
    sql.executeInsert(sqlInsert, sqlParams.values().toList())
}

第二个执行将失败,但第一个插入不会回滚.我在这做错了什么?

解决方法:

你没有显示表格的定义;也许那些是MyISAM,因此不支持交易?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐