它非常简单。假设你想为你的UUID使用GUID,你可以通过com_create_guid
函数来实现。
就个人而言,我更喜欢它下面的垫片,因为它增加了功能,如果PHP安装缺少它。这有点相同。另外,GUID()
比com_create_guid()
更好。
的另一件事,这里要注意的是,MySQL describes THIS as format。我猜测MySQL的UUID
不过是GUID
。
function GUID()
{
if (function_exists('com_create_guid') === true)
{
return trim(com_create_guid(), '{}');
}
return sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));
}
// Source http://php.net/manual/en/function.com-create-guid.php
然后
Customer_loginToken::firstOrCreate(
array(
'customer_id' => $customer[0]->id_kunde,
'loginToken' => GUID(),
'loginIP' => $loginIP
)
);
应该这样做。
你可以做,如果你想使用的UUID的数字格式的另一件事情:使用uniqid
功能。完全相同的代码,但GUID()
部分更改为uniqid()
。
如果没有什么帮助,你可以写一个函数,并把价值在那里。
但是,请记住,你将无法精确值相同的MySQL,因为它是一个完全随机数。
非常感谢您的解决方案!有用。但这个uuid不会重复吗?它是全球唯一的吗? –
没有。机会非常小。看看http://stackoverflow.com/questions/39771/is-a-guid-unique-100-of-the-time – weirdpanda
我读过你的帮助文章和感谢。这个解决方案的工作原理,我已经做了:) –