MySQL-mysql8.0设uuid函数为默认值

从mysql v8.0.13开始,可以使用表达式作为字段的默认值:

DEFAULT子句中指定的默认值可以是文字常量或表达式。除一个例外,将表达式默认值括在括号内,以将其与文字常量默认值区分开。

CREATE TABLE t1 (
  -- literal defaults
  i INT         DEFAULT 0,
  c VARCHAR(10) DEFAULT '',
  -- expression defaults
  f FLOAT       DEFAULT (RAND() * RAND()),
  b BINARY(16)  DEFAULT (UUID_TO_BIN(UUID())),
  d DATE        DEFAULT (CURRENT_DATE + INTERVAL 1 YEAR),
  p POINT       DEFAULT (Point(0,0)),
  j JSON        DEFAULT (JSON_ARRAY())
);

唯一的例外是,对于 TIMESTAMP和 DATETIME列,您可以将CURRENT_TIMESTAMP函数指定为默认函数,而不用括号括起来。

ex:

变为

posted @ 2020-09-29 11:35  shookm  阅读(2921)  评论(1编辑  收藏  举报