首页 > 解决方案 > 尝试根据 mySQL 中 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 附近的语法有问题

有任何想法吗?提前致谢

标签: mysqlselectdatediffalter

解决方案


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

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

推荐阅读