【问题标题】:PHPMYADMIN LAST_INSERT_ID returns 0PHPMYADMIN LAST_INSERT_ID 返回 0
【发布时间】:2016-10-07 11:06:07
【问题描述】:

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)

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

【问题讨论】:

  • 你试过用mysql_insert_id()
  • @atoms: mysql_insert_id 是 PHP 函数。在 phpmyadmin 上,它将始终返回 0。在过程/函数上使用它,你会得到结果。
  • 只是旁注:last_insert_id 也可能是其他表中其他人最后插入的 id。 *除非你使用交易!!

标签: mysql sql phpmyadmin lastinsertid last-insert-id


【解决方案1】:

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

SELECT id FROM for_test ORDER BY id DESC LIMIT 1;

您可以阅读本手册

How to use LAST_INSERT_ID()

【讨论】:

  • 感谢您的回答,帮助很大:)
  • 我很高兴。所以我希望你会点击“这个答案是有用的按钮”。有一个很好的发展:)
【解决方案2】:

你应该试试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;
}

【讨论】:

  • 正如 Riad 所说 - mysqli 它是 PHP 函数,我正在使用 PHPMyAdmin 控制台
【解决方案3】:
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 一起使用。 如果您仍然有同样的问题,请您发送错误快照,以便我们跟踪确切的问题。

希望对你有帮助!!

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 1970-01-01
    • 2018-03-21
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多