我了解了如何使用MariaDB(支持与MySQL相同的语法)添加生成的列,并使用一个简单的算术操作对此表进行了添加。但是,当我尝试使用DATE_SUB函数时,我得到了语法错误:SQL Error [1064] [42000]: (conn=28594) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WEEKS)) STORED' at line 3
我使用的代码是:ALTER TABLE `ExampleTable`
ADD COLUMN `DOB` DATE
AS (DATE_SUB (`DateExpected`, INTERVAL `Age` WEEKS)) STORED;
我想从DateExpected和Age值计算DOB。
从创建表中:`DateExpected` date DEFAULT NULL,
`Age` int(11) DEFAULT NULL,
代之以:AS (DATE_SUB('1998-01-02', INTERVAL 31 DAY) STORED;
给出一个类似的错误:SQL Error [1064] [42000]: (conn=28594) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'STORED' at line 3
但代之以:AS (`DateExpected`) STORED;
在用DateExpected中的值填充DOB列时工作得很好,所以我认为这与DATE_SUB语句有关。