MySQL - 自动增加到guid

Gau*_*rma 5 mysql guid auto-increment

我有一个带有自动增量ID字段的表,如下所示.

+------------+-------------------------------------+
| company_id | name                                |
+------------+-------------------------------------+
|          1 | International Client                |
|          2 | Oracle                              |
|          3 | test                                |
|          4 | testabc                             |
|          5 | testdef                             |
|          6 | abcd                                |
+------------+-------------------------------------+

我想使用ID将ID列更新为GUID

uuid()
功能.

此外,如何更新对正确GUID的外键引用?

Tes*_*son 7

使用触发器.

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

table和pk,现在触发..

DELIMITER //
CREATE TRIGGER `t_GUID` BEFORE INSERT ON `tbl_test`
 FOR EACH ROW begin
 SET new.GUID = uuid();
end//
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

现在试试,

insert into tbl_test(Name) value('trigger happy...');
Run Code Online (Sandbox Code Playgroud)

问候,/ t


Sta*_*tar 4

你不能将它与自动增量一起使用

guid 是 char 而不是 intger

你需要自己插入

您还需要将 id 更改为 char(40)

insert into table_name (id,name) values (uuid(),'jon');
Run Code Online (Sandbox Code Playgroud)