我现在需要完成一个脚本用来完成对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"我发现这样的话无论中间的数据库操作怎样事务都会提交,我不知道如何捕捉错误再进行回滚,望指点!
谢谢!
下面是我的脚本中关于事务的部分:#关闭事务自动提交
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"我发现这样的话无论中间的数据库操作怎样事务都会提交,我不知道如何捕捉错误再进行回滚,望指点!
谢谢!
start transaction;
中间部分是一些数据库的操作,如移表,删除等
commit;
set AUTOCOMMIT=0;
start transaction;
中间部分是一些数据库的操作,如移表,删除等
commit;[/code]