尝试根据 mySQL 中 SELECT 语句的结果更改 table

trying to ALTER a table based on the results from a SELECT statement in mySQL

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

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

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

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

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

有什么想法吗?提前致谢

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

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