我对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()
仍然返回0.(如果重要的话我使用InnoDB)
有谁能告诉我我做错了什么?
答案 0 :(得分:1)
插入后没有其他查询,它们都应该一起执行。小心一点。此外,如果你无法处理它,你可以使用
SELECT id FROM for_test ORDER BY id DESC LIMIT 1;
您可以阅读本手册
答案 1 :(得分:0)
你应该试试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;
}
答案 2 :(得分:0)
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中使用Engine - InnoDB。 如果您仍然遇到同样的问题,请发送错误快照,以便我们跟踪确切的问题。
希望这会对你有所帮助!!