MySQL Error number: 3102; Symbol: ER_GENERATED_COLUMN_FUNCTION_IS_NOT_ALLOWED; SQLSTATE: HY000

文档解释

Error number: 3102; Symbol: ER_GENERATED_COLUMN_FUNCTION_IS_NOT_ALLOWED; SQLSTATE: HY000

Message: Expression of generated column ‘%s’ contains a disallowed function.

错误说明:

ER_GENERATED_COLUMN_FUNCTION_IS_NOT_ALLOWED 错误表示在SQL语句中不能使用由列生成的函数。

常见案例:

该错误会在你尝试使用一个已经生成的列(generated column)来生成另外一个已经存在的列时产生。比如,当存在一个表具有已生成列my_add,并在另外一个SQL语句中试图使用此列生成另一个已存在的列my_minus时,会报出ER_GENERATED_COLUMN_FUNCTION_IS_NOT_ALLOWED错误。

解决方法:

可以在生成列(generated column)产生之前确保另外一个已经存在的列没有被调用的函数,即可解决该错误。另外,也可以使用MySQL的ALTER TABLE命令来删除生成列,从而解决该错误。

你可能感兴趣的