使用非确定性函数(例如NOW())的MySQL Generated Column

时间:2019-05-20 16:54:23

标签: calculated-columns mysql-5.7

MySQL生成的列禁止使用不确定性函数,例如NOW()

还有其他方法可以在生成的列中使用当前日期吗?

我有以下内容,但由于使用NOW()而引发错误:

CREATE TABLE test (
   id INT,
   type_id INT,
   start_dt TIMESTAMP, 
   end_dt TIMESTAMP, 
   refreshed_dt TIMESTAMP AS (CASE WHEN `type_id` = 3 and DATE_ADD(`start_at`,INTERVAL DATEDIFF(`end_at`,`start_at`)/2 DAY) <= NOW() THEN DATE_ADD(`start_at`,INTERVAL DATEDIFF(`end_at`,`start_at`)/2 DAY) ELSE NULL END));

如果type_id为3,并且我们处于start_dt和end_dt之间的中间日期或之后,我想有条件地添加一个refreshed_dt。

这可能吗?

0 个答案:

没有答案