gpt4 book ai didi

mysql - 外部GUID以满足mysql中的唯一约束

转载 作者:行者123 更新时间:2023-11-29 16:00:02 25 4
gpt4 key购买 nike

我有一个 MYSQL 8.x 表,每一行都是唯一的,因为 PK 是自动递增的。列transactionID用于存储需要与行/记录耦合的外部transactionID。

但是出现了新的要求,我们希望创建具有相同 transactionID 的新行。我正在考虑添加一个新列来保存事务的 GUID。

这是个好主意吗?这会很慢吗?对于 uuid 作为字符串还有什么想法吗? MySQL 8.0添加了UUID_TO_BIN和BIN_TO_UUID函数,可以将UUID存储为数字。

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;
;

最佳答案

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

关于mysql - 外部GUID以满足mysql中的唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56256524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com