尝试基于mySQL中SELECT语句的结果更改表

当我使用以下select语句时,我可以返回date_due和date_returned之间的日期差。

select Date_Due,Date_Returned,datediff(Date_Due,Date_Returned) as Day_Diff 
From tp_rental

但是我无法获取这些值来替换tp_rental表中的当前空值。我尝试了以下语句,但也认为它将创建一个新列。

alter table tp_rental
ADD DayDiff as DATEDIFF (Date_Due,Date_Returned);

我的错误说DATEDIFF附近的语法有问题

有什么想法吗?预先感谢

tangnande 回答:尝试基于mySQL中SELECT语句的结果更改表

生成的列表达式需要包含在()中(请参见manual)。您还需要添加列类型定义:

alter table tp_rental
ADD DayDiff INT as (DATEDIFF(Date_Due,Date_Returned));
本文链接:https://www.f2er.com/2982624.html

大家都在问