jjzjj

mysql - 在不插入的情况下获取唯一标识符

我正在寻找最好的方法来使用MySQL(或其他方式的建议,欢迎)基本上获得一个唯一的数字(保证,不是一些随机字符串或以毫秒为单位的当前时间以及大约8个字符的合理长度)。我基本上只是想运行一些SELECT...语句,让它始终返回一个唯一的数字,而不向数据库中插入任何内容。只是增加一些存储值并返回值的东西,可以并发处理大量请求,而不会严重阻塞应用程序。我知道我可以用更高碱基(更短的长度)的随机数组合来制作一些东西,这可能使它们重叠的可能性很小,但不能保证。感觉应该有一些简单的方法来获得它。澄清...我需要这个数字很短,因为它将成为URL的一部分,并且查询可以在短时间内锁定一行。我一直在寻找的

mysql - 我可以为 MySQL 中的每条记录获取唯一的 TIMESTAMP

是否有可能为MySQL中的每条记录获取唯一的时间戳值??..我创建了一个示例表CREATETABLEt1(idintprimarykey,namevarchar(50),tsTIMESTAMPDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP);并运行了一些示例INSERTIONS,似乎时间戳值是重复的。e.ginsertintot1(id,name)values(1,"test"); 最佳答案 不久的将来(5.6.4),MySQL将提供fractionalseconds但是,在TIM

java - 用 Java 读取 MySQL binary(16) UUID

这应该是一个非常简单的问题,我只是在这里遗漏了一些基本的东西,而且我正在经历“那些日子……”不能使用Hibernate或其他ORM。使用JavaPreparedStatement。MySQL的东西:CREATETABLE`article`(`articleID`binary(16)NOTNULL,`publisherID`bigint(20)DEFAULTNULL,PRIMARYKEY(`articleID`),)ENGINE=InnoDBDEFAULTCHARSET=utf8$$insertintoarticle(articleID,publisherID)values((UNHEX

mysql - 删除直接在 MySQL 上生成的 UUID 破折号

我使用PDO直接在MySQL上使用INSERTINTOtbl1(key,val)VALUES(UUID(),:value)生成UUID。我不知道如何在MySQL端删除那些-(破折号),在PHP端我可以使用str_replace()简单地删除它。 最佳答案 REPLACE(UUID(),'-','')您不需要UNHEX,只需替换连字符即可。 关于mysql-删除直接在MySQL上生成的UUID破折号,我们在StackOverflow上找到一个类似的问题: htt

mysql - Rails 5 Mysql UUID

发现rails5有一个原生的uuidintegration,想尝试一下,但出现此错误:==20170330041631EnableUuidExtension:migrating==============================--enable_extension("uuid-ossp")->0.0000s==20170330041631EnableUuidExtension:migrated(0.0001s)=======================20170331035925CreateUsers:migrating===========================

mysql - 使用自动递增 id 或 sha1 哈希的主键 mysql?

我可以将自动递增id字段作为我的主键或sha1哈希。我应该选择哪个?哪个在性能方面会更好? 最佳答案 在一些应用程序驱动的情况下,您希望使用全局唯一ID(UUID/GUID):您希望(或正在)使用分片策略来扩展写入。您不希望分片节点复制键。您希望能够安全地将数据从一个节点传输到另一个保留key。如果您想保持外键关系完整,这一点至关重要。您的应用程序还用于离线(家庭销售、家庭维修等),离线应用程序会定期同步与“真理之源”。您希望这些离线key是唯一的,而无需进行远程调用。否则,由您提出一种策略来重组键和关系的方式。使用自动增量策略并根

MySQL - 如何优化这个查询?

以下查询有效,但对于10条记录(2秒)来说非常慢。分析表明它正在创建一个tmp表,但我不确定为什么。基本上,我将当前用户加入acl组,获取他们所在的所有组,然后将组加入公司,获取他们所在的所有公司,然后将公司加入订单,获得所有订单..如果我删除这一行ORDERBYorders.created_onDESC然后查询在0.06秒内执行(可接受)..帮助,关于如何优化的任何想法?非常感谢:)SELECTorders.uuid,companies.nameascompany_nameFROMusersuJOINusers_acl_groupsgonu.uuid=g.user_uuidJOINu

java - 如何使用 UUID 维护插入顺序

在一个宠物项目中,我开始使用UUID。该应用程序相当简单,它使用binary(16)主键在MySQL数据库中添加数据。为了生成PK,我使用了JUG这样:UUIDuuid=Generators.timeBasedGenerator().generate();然后我将它转换为字节数组:byte[]b=UUIDUtil.asByteArray(uuid);现在的问题是我不知道行的插入顺序。如果我按ID对行进行排序,一些最近的行排在较早的行之前(根据DATETIME字段)我应该怎么做才能保持行的插入顺序(用于排序目的)?问题的说明,UUID按ASC排序,我希望created_at的顺序相同。s

MySQL 为多行生成 UUID()

我正在尝试将UUID添加到我的某些MySQL数据库(MySQL5.7.9)中的某些表中。首先,我首先添加一个列来接收UUID:ALTERTABLE`mytable`ADDCOLUMN`Uuid`BINARY(16)DEFAULTNULL;然后,对于表中已有的所有条目,我生成UUID(因为数据库中的每个条目都将在其UUID字段中收到NULL值。UPDATE`mytable`SETUuid=unhex(replace(uuid(),'-',''))WHEREUuidISNULL;现在,问题是我通过这样做得到了一些非常奇怪的行为;在我的一些数据库中,生成的每个UUID都是唯一的(如预期的那样

php - 有没有办法在 PHP 中追溯创建基于时间/节点的 UUID?

大多数基于时间(类型1)的UUID是使用当前时间创建的。我正在将MySQL数据库迁移到cassandra,并想为归档项目创建基于时间的UUID。有人可以举例说明如何使用过去的时间段创建1类UUID吗? 最佳答案 所有uuid版本1都是节点标识符(MAC地址)、时间戳和随机种子的组合。是的,这是可能的。该过程是可逆的。来自RFC4122关于UUID版本1的时间戳部分(第4.1.4节):"ForUUIDversion1,thisisrepresentedbyCoordinatedUniversalTime(UTC)asacountof1