简体中文
版本: v2.6.0

id

返回最后插入记录的 ID。

id($name)
返回值
[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();