Php mysql事务中是否可以同时包含select和update?
我很好奇这是否能实现,因为我目前面临一个bug,我想看看在事务中添加一个SELECT和一个UPDATE是否能修复它(如果你想知道为什么我不发布导致bug的代码,那是因为它是一个复杂的环境,我不能发布所有的影响因素)Php mysql事务中是否可以同时包含select和update?,php,mysql,transactions,Php,Mysql,Transactions,我很好奇这是否能实现,因为我目前面临一个bug,我想看看在事务中添加一个SELECT和一个UPDATE是否能修复它(如果你想知道为什么我不发布导致bug的代码,那是因为它是一个复杂的环境,我不能发布所有的影响因素) 我还感兴趣的是,与此相关的是,如果您曾经体验过在SELECT查询之后编写和更新查询的代码,但是更新在SELECT之前执行(排除脚本可能会运行两次).这取决于你所说的交易是什么意思。 有两种类型的交易: 隐式事务:与插入、更新、选择、删除语句一样,在这些语句中没有显式的事务命令,如果
我还感兴趣的是,与此相关的是,如果您曾经体验过在SELECT查询之后编写和更新查询的代码,但是更新在SELECT之前执行(排除脚本可能会运行两次).这取决于你所说的交易是什么意思。 有两种类型的交易:
- 隐式事务:与
、插入
、更新
、选择
语句一样,在这些语句中没有显式的事务命令,如果发生错误,数据库引擎将回滚整个语句删除
- 在这种情况下,事务中包含的语句作为一个单元执行,或者
整个事务,或者COMMIT
ROLLBACK
SELECT
和UPDATE
,但可以在事务中同时包含它们,如:
START TRANSACTION;
SELECT * FROM tableName;
UPDATE table SET something = 'other something' WHERE thirdsomething = @s;
COMMIT;
然后将它们放入存储过程或UDF中
请注意:
SELECT
语句不会修改数据,因此您可能不需要将其包含在事务中,因此,在您的情况下,只有UPDATE
语句,您可以在不使用事务的情况下使用存储过程。不发布导致错误的代码是因为它是一个复杂的环境
,然后尝试在更简单的环境中复制