Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在sql数据库中创建唯一列id的首选方法_Php_Mysql_Sql_Phpmyadmin - Fatal编程技术网

Php 在sql数据库中创建唯一列id的首选方法

Php 在sql数据库中创建唯一列id的首选方法,php,mysql,sql,phpmyadmin,Php,Mysql,Sql,Phpmyadmin,大家好,我只是想知道是否有一种在sql表中创建唯一id的首选方法。到目前为止,我已经尝试了数字的自动递增,这开始在未来的规划中造成问题,所以我考虑使用phpRand()然后将其转换为字符串,然后将其插入数据库,但两个数字与数据库中的数据量相同的可能性更高 我只是想知道是否有任何关于创建唯一列id的首选方法的建议 我对所有建议都持开放态度。只有几件事需要足够简单,以便在内部联接和左侧外部联接的其他表中使用id,并且在下载节和上载节中使用文件名。 <?php echo uniqid(); ?

大家好,我只是想知道是否有一种在sql表中创建唯一id的首选方法。到目前为止,我已经尝试了数字的
自动递增
,这开始在未来的规划中造成问题,所以我考虑使用php
Rand()
然后将其转换为字符串,然后将其插入数据库,但两个数字与数据库中的数据量相同的可能性更高

我只是想知道是否有任何关于创建唯一列id的首选方法的建议 我对所有建议都持开放态度。只有几件事需要足够简单,以便在内部联接和左侧外部联接的其他表中使用id,并且在下载节和上载节中使用文件名。


<?php
 echo uniqid();
?> 
使用GUID

string com_create_guid ( void )

我尝试过自动递增数字,但这开始在未来规划中造成问题。问题是什么?顺序是另一种选择。@StanislavL我的一位合作伙伴创建了与我们目前正在进行的相同类型的项目,他发现使用自动递增会有限制,从而降低失败的可能性这种情况再次发生,我们决定使用一个唯一的数字或数字和字母的组合,或任何其他类似日期和时间的东西。这主要是一些问题,比如用户在同一时间上传东西,然后sql试图给每个东西赋予相同的编号,因此我们认为使用唯一的id来防止这些问题会更容易this@NavjotSingh你所说的序列是什么意思?你能澄清一下它是sql类型还是php函数吗。任何文档都将非常有用appreciated@user3387522请看是否有办法缩短此长度,因为id必须与需要链接的文件名相同,而且对于PDF文档@sagarpanchal来说似乎有点长。您可以从一开始分割此结果,但这不是一个好主意。有办法限制很多字符长可以是例如Min_length或Max_length或类似的任何东西谢谢它看起来很有趣我相信当我开始研究这个主题时有人向我提到过我发现了这个,但我只是想知道GUID的结果会是什么你知道任何显示GUIDGUID输出的示例吗看起来是这样的:25892e17-80f6-415f-9c65-7395632f0223它是通过特殊算法构建的唯一标识符。生成的值取决于生成它的时间、生成它的PC等。GUID最好的地方是它是独一无二的。总是。不可能生成两个相等的guid。我只是想知道你是否可以设置GUID有多少个字符,或者是否有一个静态量。GUID中的字符量始终是静态的。谢谢你提供的信息我找不到这些信息。你帮了大忙