ina*_*ina 8 php mysql random uuid lastinsertid
我的印象是,让MySQL生成主键通过UUID()
会使密钥在服务器等之间是唯一的.
但是,无法获取最后插入的UUID,这需要每次插入时都执行额外的select语句.
是否可以让PHP生成与UUID()
MySQL 生成的完全相同的内容?
Col*_*ell 13
不,PHP不可能生成与UUID()
MySQL 完全相同的,因为它是一个(完全)随机数.
听起来你的问题是你喜欢UUID()
在MySQL中使用但不想执行额外的查询来弄清楚新的UUID
是什么.
那么为什么不让PHP创建UUID
用作INSERT
查询中的主键? 这个关于php.net的评论应该告诉你如何做到这一点.
使用这些示例函数:
$uuid = UUID::v4();
$sql = "INSERT INTO mytable (uuid, foo) VALUES ('{$uuid}', 'bar');";
echo "The UUID is: ". $uuid;
Run Code Online (Sandbox Code Playgroud)
编辑:该页面上有几种方法可以生成不同类型的UUID
s. v4
是伪随机的,但您可以使用不同的版本或创建自己的UUID
生成器.