我正在创建存储在SQL数据库中的用户配置文件(javascript网页)
这些配置文件的主键ID
具有自动增量功能。
当用户创建其个人资料时,他必须上传文件。
我希望将此文件命名为id.ext,问题是我在创建配置文件期间通过ajax上传文件,然后将配置文件保存在数据库中,因为用户需要提供有关此信息的信息文件以便配置文件可以接受。
我可以在数据库中重试max(id)
并在我的ajax上传期间使用它但是如果有2个人同时创建个人资料:问题。
我提出了其他解决方案:
bigrandom.ext
并将此名称存储在数据库中,但我的老板绝对希望id.ext
我认为这是一个常见的问题,我想有一些关于此的最佳实践,甚至可能是我不知道的SQL特性。
答案 0 :(得分:1)
DBMS中的sequence object比使用MAX(id) +1
的机会更安全,更强大。自SQL Server 2012以来,MS SQL Server一直支持序列,其他数据库平台已经使用了更长的时间。
答案 1 :(得分:0)
尝试在表格中添加Guid字段,并在上传图片时创建它。它永远都是unque。您可以使用此Guid作为名称保存图像。