快速提问,如何在Mysql中正确回滚事务?
我正在学习交易,这对我来说很新鲜。 PHP代码:
query("START TRANSACTION");
if(!query("CREATE TABLE IF NOT EXISTS xxx ~~")) query("ROLLBACK");
if(!query("ALTER TABLE yyy ~~")) query("ROLLBACK");
if(!query("ALTER TABLE zzz ~~")) query("ROLLBACK");
query("COMMIT");
我的问题是,如果它没有改变表YYY,它将回滚,
但它会尝试改变ZZZ后的表吗?或者一次回滚意味着它会忽略所有其他查询?
如果YYY失败,我应该以某种方式修改我的代码以防止改变ZZZ吗?
PS。 query() returns false if it fails, or true if it succeed