版本: v2.6.0
id
返回最后插入记录的 ID。
id($name)
name [string] (可选)
序列对象名称。传入后将返回该序列生成的最后一个值。
返回值
[string|null] 以字符串形式返回最后插入的 ID;没有可用 ID 时返回 null。
$database->insert("account", [
"user_name" => "foo",
"email" => "foo@bar.com",
"age" => 25
]);
$account_id = $database->id();
PostgreSQL
将主键列名作为
insert() 的第三个参数传入。Medoo 会追加 RETURNING 子句并缓存生成的值,随后由 id() 返回。批量插入多行时,id() 返回最后生成的 ID。$database->insert("account", [
"user_name" => "foo"
], "id");
$account_id = $database->id();
如果调用
insert() 时未提供主键,id() 会回退到 PostgreSQL 的 LASTVAL()。当前会话尚未生成任何序列值时返回 null。如有需要,仍可显式传入序列名称。$account_id = $database->id("account_id_seq");
Oracle
将主键列名作为
insert() 的第三个参数传入,以便 Medoo 返回并缓存生成的值。$database->insert("ACCOUNT", [
"NAME" => "foo"
], "ID");
$account_id = $database->id();