lastInsertId需要什么条件才能工作

时间:2013-11-13 16:38:39

标签: postgresql pdo

我正试图绕过PDO。为什么$ lastid不输出任何东西?

function renderRoot($db){
    $sql = "INSERT INTO nodes (name) VALUES ('/');";
    $response = $db->query($sql);
    $lastid = $db->lastInsertId();
    echo $lastid;
    return;
}

代码为表添加一个值,它有一个名为id的列,即aoutincrements。

这是我的sql(postgresql):

$nodetable = "create table nodes (
    id serial primary key,
    parentid integer references nodes(id ),
    name varchar
);";

1 个答案:

答案 0 :(得分:0)

在postgresql中,lastInsertId()接受一个参数,在你的例子中,是一个参数的名称,即nodes_id_seq

$lastid = $db->lastInsertId('nodes_id_seq');

否则它将返回最后一个oid,如果有的话。