MySQL - 更改表以自动放入 UUID

Mat*_*ner 19 mysql

好的,我知道我以前做过这个。但我终其一生都无法弄清楚。我创建了一个表。其中一列标记为“LogID”,它也是主键。

如何更改它以便此列为每个新条目生成一个 UUID?

谢谢

Rob*_*iel 20

只需创建一个触发器,插入之前运行即可为给定列生成 UUID。

CREATE TRIGGER before_insert_mytable
  BEFORE INSERT ON mytable
  FOR EACH ROW
  SET new.LogID = uuid();
Run Code Online (Sandbox Code Playgroud)


yda*_*coR 3

UUID ()表达式在调用时生成 UUID。

不幸的是(无论如何)MySQL 不允许表达式作为字段的默认值。作为解决方法,您始终可以将字段设置为默认 null,并使用触发器在插入时使用 UUID 更新字段。