Mariadb:将字段更改为 PERSISTENT Calculated

Maria DB : Alter a field to a PERSISTENT Calculated

我创建了一个 table,我希望从 table.

中其他三个字段的串联值创建一个计算列

我希望此计算字段在插入或更新时发生,因此我指定了 PERSISTENT

我在 phpMyAdmin 中尝试了以下代码(以各种方式),但总是出现错误,这些错误似乎是在 ALTER table

之后立即引用的

我在 phpMyAdmin 中添加该字段时没有看到这样做的方法,所以我希望我可以改变它。

Alter TABLE 'tlImages'
CHANGE COLUMN tlImageQuery
AS CONCAT(tlImgTitle,"~",tlImgDescrip,"~",tlImgWhereWhen) PERSISTENT;

MariaDB 版本 10.0.29-MariaDB-cll-lve - MariaDB 服务器

phpMyAdmin。版本信息:4.0.10.18

首先,去掉 table 名字周围的单引号,它们不是 suitable 的目的。使用反引号或什么都不用。

你仍然会在语句中进一步得到语法错误,因为 AS 子句应该在括号中。添加它们。

您仍然会收到语法错误,因为您在 AS (...) 子句之前缺少列类型,请添加它。

您仍然会收到语法错误,因为 CHANGE COLUMN 需要两个列名称,旧的和新的,请改用 MODIFY

Alter TABLE `tlImages` 
  MODIFY COLUMN tlImageQuery VARCHAR(128) 
  AS (CONCAT(tlImgTitle,"~",tlImgDescrip,"~",tlImgWhereWhen)) PERSISTENT
;

(键入 VARCHAR(128) 只是作为示例)。