Php 意外的MySQL事务提交
我有一个PHP脚本,可以与MySQL数据库和ODBC数据库连接(QODBC到QuickBooks)一起使用。设置如下所示:Php 意外的MySQL事务提交,php,mysql,transactions,odbc,Php,Mysql,Transactions,Odbc,我有一个PHP脚本,可以与MySQL数据库和ODBC数据库连接(QODBC到QuickBooks)一起使用。设置如下所示: Retrieve rows from MySQL database Begin MySQL transaction: Loop through rows Process data MySQL Insert/Update MySQL Update QODBC Selects/Inserts End Loop MySQL Dele
Retrieve rows from MySQL database
Begin MySQL transaction:
Loop through rows
Process data
MySQL Insert/Update
MySQL Update
QODBC Selects/Inserts
End Loop
MySQL Delete
Commit Transaction
问题是,如果QODBC部分中有错误,那么将提交到该点的MySQL命令。这导致MySQL中的数据重复和错误。没有嵌套的事务,所有查询成功/失败都在处理中(即没有致命错误或过早退出脚本)
问题是-在同一个脚本中通过PHP连接到两个不同的数据库时是否存在问题?当脚本到达ODBC部分时,MySQL事务被关闭并自动提交 我想说有两个潜在的原因:
- 您的表是使用不支持事务的MyISAM创建的
- 您的连接已设置为自动提交