PHP mysql_insert_id() 用于 MySQL UUID() 主键?

发布于 2025-01-08 10:03:56 字数 97 浏览 0 评论 0原文

是否有一些相当于 PHP mysql_insert_id 来获取最后插入的 UUID() 主键? (我总是得到 0。不过它适用于 auto_inc 整数)

Is there some equivalent to PHP mysql_insert_id to fetch the last inserted UUID() primary key? (I always get 0. It works for auto_inc integers though)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

柒七 2025-01-15 10:03:56

不,last_insert_id() 仅检索最后生成的 auto_increment 字段。您必须首先执行select uuid(),然后使用该uuid 执行插入。

但是,请注意,不能保证 uuid 是唯一的 - 它们根本不可能发生冲突。如果您确实需要唯一性,那么请使用 auto_increment - 它们永远不会在任何单个表中重复使用。

No, last_insert_id() only retrieves that last generated auto_increment fields. You'll have to do a select uuid() first, then do an insert using that uuid.

However, note that uuids can't be guaranteed to be unique - they're simply very unlikely to collide. If you do require uniqueness, then go with an auto_increment - they'll never be re-used within any single table.

初见 2025-01-15 10:03:56

我发现这个非常简短的解决方案:

set @id=UUID();
insert into <table>(<col1>,<col2>) values (@id,'another value');
select @id;

I found this quite short and simple solution:

set @id=UUID();
insert into <table>(<col1>,<col2>) values (@id,'another value');
select @id;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文