我们如何读取刚刚插入事务中的值

How can we read value have just insert in transaction

我正在处理 TRANSACTION MySql,我遇到了一个问题:

BEGIN;
INSERT INTO a(name) VALUES("hello");
SELECT * FROM a WHERE name = "hello";
COMMIT/ROLLBACK;

所以我找不到我刚刚添加到table中的值了。如果有任何方法可以 SELECT 刚刚添加的值,请帮助我。

非常感谢

如果您想要刚刚插入的行的自动递增 ID 值,您可以使用 SELECT LAST_INSERT_ID()

如果您想要刚刚插入的整行,请执行此操作,假设您的 table 的自动增量 ID 称为 id

INSERT INTO a whatever;
SELECT * FROM a WHERE id = LAST_INSERT_ID();

您不需要显式事务来使这一系列查询正常工作。但是,您仍然可以将其用于其他目的。