一般来说,我对 MySQL 和 db 很陌生。
我有一张桌子,我有date_of_test
和test_frequency
(可能的值 3、6、12)。
我需要有一个字段future_test
,其中包含计算日期,其中date_of_test
的值test_frequency
是 3、6、12(月)。
我不知道如何实现这一点,有人能指出我正确的方向吗?
一般来说,我对 MySQL 和 db 很陌生。
我有一张桌子,我有date_of_test
和test_frequency
(可能的值 3、6、12)。
我需要有一个字段future_test
,其中包含计算日期,其中date_of_test
的值test_frequency
是 3、6、12(月)。
我不知道如何实现这一点,有人能指出我正确的方向吗?
alter table gypsum add column future_test (datetime);
update gypsum
set future_test = date_add(date_of_test, interval test_frequency MONTH);
正如评论中所指出的,在数据库中计算值通常不是一个好主意。
每次更新 date_or_test、test_frequency 或每次插入新值时都必须重新启动计算...
创建专用视图可能会更好
CREATE OR REPLACE VIEW gypsumWithFuture AS
(SELECT
id,
date_of_test,
test_frequency,
DATE_ADD(date_of_test, interval test_frequency MONTH) AS future_test
FROM gypsum)
或在您的应用程序代码中进行计算(如果有的话)。很多语言都有 DateTime 功能,可以和 MySQL DATE_ADD一样。