gpt4 book ai didi

php - 使用启动事务设置 var mysql

转载 作者:行者123 更新时间:2023-11-29 02:13:34 25 4
gpt4 key购买 nike

我不熟悉数据库,这是我的测试语法:

START TRANSACTION ;
SET @VAR = (SELECT `some ID` FROM `some table` ORDER BY `some ID` DESC LIMIT 1);
SELECT @VAR;
COMMIT;
SELECT @VAR;

我认为结果是第一个选择是空的(因为在提交之前),第二个选择是有值(value)的,在我的测试中,第一个和第二个选择是有值(value)的,为什么?以及如何修复我的语法?

最佳答案

你看起来很困惑。首先,在一个事务中所做的更改在同一事务中是可见的。其次,事务是关于对数据库 的更改,而不是对 session 的更改。毕竟,数据库是兼容(或不兼容)ACID 的,而不是 session 中的变量。

第一个print 打印交易期间出现的值。事务中的更改是可见的——在事务中。对于表格的更改也是如此。如果您在表中插入一行并在同一事务中查找该行,那么您将看到它。

您不应该在另一个 session 中看到该行。在提交更改之前,您不会在其他地方看到它。

关于php - 使用启动事务设置 var mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45003473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com