PHP mysql_insert_id() 用于 MySQL UUID() 主键?
是否有一些相当于 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不,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.
我发现这个非常简短的解决方案:
I found this quite short and simple solution: