gpt4 book ai didi

mysql - mysql - 如何在没有触发器和手动插入的情况下在插入时生成/自动增加 guid mysql?

转载 作者:行者123 更新时间:2023-12-02 09:03:21 34 4
gpt4 key购买 nike

我重新访问了我的数据库并注意到我有一些 INT 类型的主键。

这还不够独特,所以我想我会有一个指导。
我来自微软 sql 背景,在 ssms 中你可以
选择类型为“uniqeidentifier”并自动增加它。

然而,在 mysql 中,我发现你必须为你想要的表创建在插入时执行的触发器
为其生成指南 ID。例子:

table :

CREATE TABLE `tbl_test` (
`GUID` char(40) NOT NULL,
`Name` varchar(50) NOT NULL,
PRIMARY KEY (`GUID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

扳机:
CREATE TRIGGER `t_GUID` BEFORE INSERT ON `tbl_test`
FOR EACH ROW begin
SET new.GUID = uuid();

或者,您必须自己在后端插入 guid。

我不是数据库专家,但仍然记得触发器会导致性能问题。

以上是我找到的东西 here是 9 岁所以我希望有所改变?

最佳答案

至于 stated in the documentation ,您可以使用 uid()作为列默认起始版本 8.0.13,所以这样的事情应该可以工作:

create table tbl_test (
guid binary(16) default (uuid_to_bin(uuid())) not null primary key,
name varchar(50) not null
);

这几乎是从文档中复制的。我手头没有足够新的 MySQL 版本来测试这个。

关于mysql - mysql - 如何在没有触发器和手动插入的情况下在插入时生成/自动增加 guid mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61349754/

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