3 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊
如前所述,您不能。
如果要模擬此行為,可以按以下方式使用觸發(fā)器:
CREATE TRIGGER before_insert_app_users
BEFORE INSERT ON app_users
FOR EACH ROW
IF new.uuid IS NULL
THEN
SET new.uuid = uuid();
END IF;
您仍然必須更新以前存在的行,如下所示:
UPDATE app_users SET uuid = (SELECT uuid());

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊
從mysql v8.0.13開始,可以使用表達(dá)式作為字段的默認(rèn)值:
DEFAULT子句中指定的默認(rèn)值可以是文字常量或表達(dá)式。除一個(gè)例外,將表達(dá)式默認(rèn)值括在括號(hào)內(nèi),以將其與文字常量默認(rèn)值區(qū)分開。
CREATE TABLE t1 (
uuid_field VARCHAR(32) DEFAULT (uuid()),
binary_uuid BINARY(16) DEFAULT (UUID_TO_BIN(UUID()))
);
添加回答
舉報(bào)