如何在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