我用来生成独特的&随机字符串mysql函数UUID()
,可以设置这个生成的字符串的长度吗?我只需要8个字母。
这个插入我用php插入函数...
提前谢谢。
答案 0 :(得分:3)
UUID无法像其他人所提到的那样,因为它具有standard指定的已定义模式。但是,您可以在PHP中使用此功能,这将为您创建字母和数字的唯一ID
<?php
function generateUUID($length) {
$random = '';
for ($i = 0; $i < $length; $i++) {
$random .= rand(0, 1) ? rand(0, 9) : chr(rand(ord('a'), ord('z')));
}
return $random;
}
答案 1 :(得分:2)
UUID是一个128位数字,由aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee格式的五个十六进制数字的utf8字符串表示
所以,不 - 你不能指定UUID长度,因为它已经定义了格式。您唯一能做的就是对UUID
函数返回的值进行子串。
答案 2 :(得分:0)
这是不可能的。
另一种方法是使用PHP生成您的唯一编号。
答案 3 :(得分:0)
UUID是标准实施:
返回根据生成的通用唯一标识符(UUID) “DCE 1.1:远程过程调用”(附录A)CAE(通用应用程序 环境)The Open Group于10月发布的规范 1997年(文件号C706, http://www.opengroup.org/public/pubs/catalog/c706.htm)。
也许你可以使用像rand
这样的功能。随机创造一些东西。或者使用php生成8个字符。请查看此主题:Generate random string from 4 to 8 characters in PHP
http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_uuid
答案 4 :(得分:0)
怎么样
SELECT LEFT(UUID(), 8) FROM dual
添加Cas Wolters的评论:
简单地获取前8个字符会大大降低字符串的唯一性