首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >满足mysql中唯一约束的外部GUID

问满足mysql中唯一约束的外部GUID
EN

Stack Overflow用户
提问于 2019-05-22 20:11:46
回答 1查看 23关注 0票数 0

我有一个MySQL8.x表,由于主键是自动递增的,所以每一行都是唯一的。列transactionID用于存储需要与行/记录耦合的外部transactionID。

然而,一个新的需求出现了,我们想用相同的transactionID创建一个新行。我在考虑添加一个包含事务的GUID的新列。

这是个好主意吗?这会很慢吗?还有没有别的想法把uuid当作字符串?MySQL 8.0添加了可以将UUID存储为数字的UUID_TO_BIN和BIN_TO_UUID函数。

代码语言:javascript
复制
CREATE TABLE `testme`.`new_table` (
  `ID` INT NOT NULL AUTO_INCREMENT,
  `transactionID` INT NOT NULL,
  `maybe_uuid` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`ID`));

ALTER TABLE `testme`.`new_table` 
ADD UNIQUE INDEX `index2` (`transactionID` ASC, `maybe_uuid` ASC) VISIBLE;
;
EN

回答 1

Stack Overflow用户

发布于 2019-05-22 20:42:25

GUID不适合用作主键,原因有很多,我不会在这里详细介绍,而且使用已经存在的auto_increment键会更快。但是,如果您还需要存储GUID,那么只需为此添加另一列是完全合理的。您可以使用您提到的两个函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56256524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档