I have a question about MySQL and have been unable to find an answer. I know auto-commit is turned on by default in MySQL. I need to run a few update queries from the command line in one transaction but I don't know how MySQL will handle them. If I have something like this:
mysql -uroot -proot -e 'QUERY 1; QUERY 2; QUERY3'
will it execute as one transaction or will MySQL auto-commit each statement individually? I need to ensure atomicity.
Pipe is a great idea!
or
and so, you can commit o rollback by hand according the result of yourScript
Good luck!
You can use MySQL's
START TRANSACTION
syntax to create a transactional commit:Source: http://dev.mysql.com/doc/refman/5.0/en/commit.html
You could also write your query in a .sql file, and pipe it into mysql: