mysql - 唯一 ID : is a unique username + currentMilliseconds good enough for a unique Id

标签 mysql uniqueidentifier

<分区>

我需要存储用户的帖子。

他们的用户名是唯一的,我敢肯定他们不能在同一毫秒内发帖。

那么他们帖子的 URL 将包含/Username/12345678890/title-of-the-post

我不能使用 Auto_Inc 编号,因为我在数据库中不知道它。 希望他们知道数字或能够猜出。

这是否足以在数据库中存储足够独特


如果是这种情况,最好的方法是将唯一 ID 存储在数据库 (MySQL) 中

PK 与 URL 无关。

例如

AUTO_INCREMENT PK   Username   createDate (BIGINT)
-----------------   --------   -------------------
23456               Daxon       12345678922

我应该为列编制索引吗?

-- 编辑 --

我忘了说我不知道​​用户有多少帖子 有或能够为他们猜出一个数字。

所以我认为 currentTime 以毫秒为单位是不可猜测的。

Mabye 现在这个值应该被加密但仍然是 URL 安全的

最佳答案

I can't use the Auto_Inc number as I don't know it in the DB

然后你的问题的解决办法就是学习它,或者问一个问题来澄清你不明白的地方(MySql 甚至提供了 serial 别名来使这些变得容易)。因为你不知道如何使用你的语言的特性而创造变通办法只会为你以后必须解决的问题。现在解决它们很容易,并且有很多人可以提供帮助(更多的人知道如何设置递增键,然后知道如何解决奇怪的并发问题或使延迟的“更改名称”功能搞砸旧数据)

关于mysql - 唯一 ID : is a unique username + currentMilliseconds good enough for a unique Id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1472056/

相关文章:

php - 将 session 中保存的数组中的多行插入表中?

mysql - 我如何对大型 mysql 表中的单个列进行低安全性编码,然后反转它?

java - 是否使用 System.identityHashCode(Obj) 可靠地返回唯一 ID

c++ - 如何在类 Unix 系统上从 USB 设备获取序列号

android - 获取设备的 IMEI 代码或/和 Mac 地址

sql-server - 为什么我的 SQL Server 标识值被重用?

java - 基于 Java 的 GUI 用于搜索 MySQL 数据库时出现 "Stored PROCEDURE does not exists"错误

c# - 在 MySql 连接字符串中使用密码? C#

c++ - 在 C++ 中,对具有唯一 ID 的对象进行复制/move/分配的正确方法是什么?

php - 使用 PHP 和 MYSQL 加密数据(SHA1、MD5、MCRYPT_RIHNDAEL_256)