一尘不染

mysql中一列的GUID的默认值

sql

我希望一列默认为GUID,因此,如果我正在执行插入操作且未明确设置该值,则希望将其默认为新的GUID值。

我怎样才能做到这一点?


阅读 333

收藏
2021-03-10

共1个答案

一尘不染

由于UUID()不被接受为DEFAULT约束,因此您需要使用触发器。

这将设置NEW_TABLE.uuid列的值:

delimiter $$

CREATE
DEFINER=`root`@`localhost`
TRIGGER `example`.`newid`
BEFORE INSERT ON `example`.`new_table`
FOR EACH ROW
BEGIN
  SET NEW.`uuid` = UUID();
END
$$
2021-03-10