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命令来删除生成列,从而解决该错误。