首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql数据库脚本事务怎么控制

2012-08-10 
mysql数据库脚本事务如何控制?我现在需要完成一个脚本用来完成对mysql数据库的操作,用到了事务,但是不知道

mysql数据库脚本事务如何控制?
我现在需要完成一个脚本用来完成对mysql数据库的操作,用到了事务,但是不知道出错后如何回滚,求指教!
下面是我的脚本中关于事务的部分:

#关闭事务自动提交
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "set AUTOCOMMIT=0"
#事务开始
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "start transaction"

中间部分是一些数据库的操作,如移表,删除等

#提交事务
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "commit"

我发现这样的话无论中间的数据库操作怎样事务都会提交,我不知道如何捕捉错误再进行回滚,望指点!
谢谢!


[解决办法]
AUTOCOMMIT=0 这个仅是对当前SESSION的变量进行了设置,并没有改变所有的MYSQL事务设置。

而你的每一次 mysql -h${HOSTNAME} -P${PORT} -u${USERNAME}... 都是一个新的连接(SESSION)

热点排行