我们如何读取刚刚插入事务中的值
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();
您不需要显式事务来使这一系列查询正常工作。但是,您仍然可以将其用于其他目的。
我正在处理 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();
您不需要显式事务来使这一系列查询正常工作。但是,您仍然可以将其用于其他目的。