Database 如何为图像指定唯一的名称?

Database 如何为图像指定唯一的名称?,database,database-design,imagenamed,Database,Database Design,Imagenamed,我正在编写一个web应用程序,用户可以在其中上载图像。我想知道为图像指定唯一名称的最佳做法是什么?我认为MD5非常有用,而且已经足够了,但是既然每个图像都有一个所有者,那么我必须使用MD5吗?我的意思是用Userid+imagename+creationdate重命名就足够了 不,这还不够,因为用户可能想上传几个同名的图像 最简单的解决方案是在图像名称中使用序列号。你可以确定没有其他同名的图像,也永远不会有。使用散列函数时,冲突的可能性总是非常小 不,这还不够,因为用户可能想上传几个同名的图像

我正在编写一个web应用程序,用户可以在其中上载图像。我想知道为图像指定唯一名称的最佳做法是什么?我认为MD5非常有用,而且已经足够了,但是既然每个图像都有一个所有者,那么我必须使用MD5吗?我的意思是用Userid+imagename+creationdate重命名就足够了

不,这还不够,因为用户可能想上传几个同名的图像


最简单的解决方案是在图像名称中使用序列号。你可以确定没有其他同名的图像,也永远不会有。使用散列函数时,冲突的可能性总是非常小

不,这还不够,因为用户可能想上传几个同名的图像


最简单的解决方案是在图像名称中使用序列号。你可以确定没有其他同名的图像,也永远不会有。使用散列函数时,冲突的可能性总是非常小

数据库为每条记录提供唯一的ID。尽管有许多不同的方法可以实现您的目的,但通常最好使用此ID作为图像名称的前缀/后缀。因此,对于这些记录:

ID  |  name
15    image.png
23    image.png

您可以显示如下内容:
15_image.png
23_image.png
您的数据库为每个记录提供了唯一的ID。尽管有许多不同的方法可以实现您的目的,但通常最好使用此ID作为图像名称的前缀/后缀。因此,对于这些记录:

ID  |  name
15    image.png
23    image.png

你可以显示类似的东西:“代码> 15No.PNG ,代码> >3IIG.PNG

@ Aleksi:你插入一次,所以问它没什么大不了的(如果你想保存的话),当你搜索的时候,最好还是用ID搜索。我同意这没什么大不了的,但是当你考虑到技术水平最低的用户时,告诉他们身份证突然出现有点误导。您必须根据DBMS的使用情况进行设计并创建一个序列或自动递增声明,也就是说,您必须请求它,因为它没有给出。@Aleksi:您是对的,我没有这样想过。我会留下我的答案,虽然,直到我们看到更多的评论从提问者。@ Aleksi:你插入一次,所以这不是什么大问题去问它(如果你想保存的方式),当你搜索,最好还是用ID搜索。我同意这不是什么大不了的,但当你考虑的用户最低技能水平,告诉他们身份证突然出现有点误导。您必须根据DBMS的使用情况进行设计并创建一个序列或自动递增声明,也就是说,您必须请求它,因为它没有给出。@Aleksi:您是对的,我没有这样想过。不过,在我们看到提问者的更多评论之前,我将保留我的答案。