当前位置: 首页 > 面试题库 >

如何在MySQL中生成唯一ID?

邹高峻
2023-03-14
问题内容

我正在使用PHP和MySQL编写脚本,并且想要获得一个唯一的ID(由字符串组成:大写字母和带数字的小写字母),例如:gHYtUUi5b。我在PHP中发现了许多可以生成此类数字的函数,但我担心如何确保id唯一!

更新 :uuid很长,我的意思是这样的ID:(P5Dc)一个11个字母数字的字符。


问题答案:

一个 编程的方式 可以是:

  • 在字段中添加一个唯一索引
  • 在PHP中生成随机字符串
  • 在PHP中循环(while(!DO_THE_INSERT))
    • 产生另一个字符串

注意:

  • 这可能很脏,但是具有与 DBMS无关* 的优点 *
  • 即使您选择使用特定于DBMS的唯一ID生成器功能(UUID等),也最好使用索引来确保 字段HAS为UNIQUE
  • 统计上完全不执行循环,仅在插入失败时才进入循环


 类似资料:
  • 问题内容: 如何生成不猜测下一个数字的java中的整数的唯一ID? 问题答案: 它需要有多独特? 如果它仅在流程中唯一,则可以在每次需要新值时使用和调用。

  • 问题内容: 当我将Mongodb与Java结合使用时,我想在客户端生成对象ID。但是,在插入记录之前,我必须先查询mongodb以确保由ObjectId()方法生成的ID是唯一的。有什么方法可以生成唯一的对象ID,而无需两次访问mongodb? 问题答案: 对象ID与您在RDMS中使用的顺序ID不同。如果它们是根据对象ID规范正确生成的,则无需担心它们是唯一的。 您要做的就是确保始终创建一个新的对

  • 问题内容: 我有一个带有String的对象,该对象具有唯一的id。(例如“ ocx7gf”或“ 67hfs8”),我需要为其提供int hascode()的实现,该实现显然是唯一的。 如何以最简单/最快的方式将字符串转换为唯一的int? 10倍 编辑-确定。我已经知道String.hashcode是可能的。但是不建议在任何地方使用。实际上’,如果不建议使用其他任何方法- 如果我的对象在集合中并且需

  • 问题内容: 如何使用数据库查询回调设置变量值?我该怎么办? 问题答案: 自从使用node.js已经有一段时间了,但是我想我可以提供帮助。 首先,在node中,您只有一个线程,应该使用回调。您的代码将发生的情况是查询将排队等待执行,但是循环将毫无意义地连续作为繁忙循环运行。 您应该可以通过以下回调来解决您的问题: 并这样使用 我在大约2年内没有编写任何node / js的代码,也没有进行测试,但是基

  • 问题 你想随机生成一个唯一的标识符。 解决方案 可以根据一个随机数值生成一个 Base 36 编码的字符串。 uniqueId = (length=8) -> id = "" id += Math.random().toString(36).substr(2) while id.length < length id.substr 0, length uniqueId() # =

  • 问题内容: MySQL的函数返回一个UUIDv1 GUID。我正在寻找一种在SQL中生成随机GUID(即UUIDv4)的简单方法。 问题答案: 我花了很多时间寻找解决方案,并提出了以下mysql函数,该函数使用标准MySQL函数生成一个随机UUID(即UUIDv4)。我正在回答我自己的问题,以期分享它,希望对大家有用。 注意:所使用的伪随机数生成(MySQL’s )在密码上不是安全的,因此存在一些