我重新访问了我的数据库,注意到我有一些类型为INT的主键。
这还不够独特,所以我想我会有一个吉德。我来自microsoft背景,在ssms中,您可以选择类型为“uniqe标识符”并自动递增它。
但是,在mysql中,我发现您必须为要为其生成指南id的表在insert上执行触发器。示例:
表:
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。
Im不是DB专家,但仍然记得触发会导致性能问题。
以上是我发现的这里,9岁,所以我希望有什么改变?
发布于 2020-04-21 18:02:32
就在文件中说明而言,您可以使用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来测试这个版本。
发布于 2020-04-21 18:00:07
https://stackoverflow.com/questions/61349754
复制相似问题