如何在不使用AUTOINCREMENT的情况下生成唯一ID

时间:2010-05-07 10:47:03

标签: sql unique

我将数据从csv导出到mysql数据库,我希望数据库为每个导入的记录生成一个唯一的id。我想在水晶报告中使用唯一字段生成收据编号。

你认为最好的方法是什么?

2 个答案:

答案 0 :(得分:3)

如果您不想自动增加,则实际上保证唯一性的唯一方法是使用GUID作为ID。

我说“虚拟”,因为理论上可能会生成相同的GUID两次,但对于所有日常用途它实际上都是零。来自维基百科的文章:

  

唯一键的总数(21 28 或3.4×10 38 )是如此之大,以至于两次生成相同数字的概率非常小,并且已经开发出某些技术来帮助确保数字不重复。

答案 1 :(得分:2)

自动增量绝对是在MySQL中执行此操作的正确方法,是否有充分的理由不使用它?

如果您想要更像Oracle序列的内容,可以use another table with an autoincrement column