如何在mysql中创建计算字段?

我有一个如下表:

create table info (username varchar(30),otherinfo varchar(100));

现在我想更改此表以具有新字段,并且该字段必须具有默认值

md5(username)

如下所示:

alter table info add NewField varchar(100) default md5(username);

怎么做?

谢谢你的帮助

回答:

根据MySQL 文档(添加了重点),您不能使用默认值的表达式:

10.1.4。数据类型默认值

数据类型规范中的DEFAULT value子句指示列的默认值。除一个例外, 。例如,这意味着您不能将日期列的默认值设置为诸如NOW()或CURRENT_DATE之类的函数的值。唯一的例外是您可以将CURRENT_TIMESTAMP指定为TIMESTAMP列的默认值。

我已经测试了以下触发器可满足您的意图:

CREATE TRIGGER MyTriggerName

BEFORE INSERT ON info

FOR EACH ROW

SET NEW.NewField = md5(NEW.username);

以上是 如何在mysql中创建计算字段? 的全部内容, 来源链接: utcz.com/qa/397393.html

回到顶部