PHPMYADMIN LAST_INSERT_ID returns 0

PHPMYADMIN LAST_INSERT_ID returns 0

我对 LAST_INSERT_ID 有疑问。

CREATE TABLE for_test(
id_test INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
test_name VARCHAR(30)
);

INSERT INTO for_test (test_name) VALUES ('test1');
INSERT INTO for_test (test_name) VALUES ('test2');

我成功添加了两条记录 - 但 SELECT LAST_INSERT_ID() 仍然是 returns 0。(如果这很重要,我会使用 InnoDB)

谁能告诉我我做错了什么?

你应该试试 mysqli 例子

$sql = "INSERT INTO user (firstname, lastname, email)
VALUES ('test', 'test', 'test@example.com')";

if ($conn->query($sql) === TRUE) {
    $last_id = $conn->insert_id;
    echo "New record created successfully. Last inserted ID is: " . $last_id;
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

插入后没有其他查询,它们应该一起执行。小心那个。另外,如果你不能处理它,你可以使用

SELECT id FROM for_test ORDER BY id DESC LIMIT 1;

您可以阅读本手册

How to use LAST_INSERT_ID()

CREATE TABLE for_test(
id_test INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
test_name VARCHAR(30)
);

INSERT INTO for_test (test_name) VALUES ('test1');
INSERT INTO for_test (test_name) VALUES ('test2');
SELECT LAST_INSERT_ID();

注意:它在 phpMyAdmin 中使用引擎 - InnoDB。 如果您仍然遇到同样的问题,请发送错误快照,以便我们跟踪确切的问题。

希望对您有所帮助!!