我的MySQL Products MyISAM表中有一个价格列(小数点6, 2 ),我试图添加一个生成的列来将其乘以2。
ALTER TABLE Produtos ADD COLUMN Price_double DECIMAL(6,2) AS (Price*2);但我在HeidiSQL上看到了这个:
Error SQL (1064):您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以获得在第1行使用“AS(Preco*2)”的正确语法
该怎么办呢。真的..。
我的MySQL版本是5.5.51-38.2
发布于 2016-10-21 04:11:02
MySQL只支持版本5.7或更高版本q.v中生成的列。the 文档
从MySQL 5.7.6开始,CREATE支持生成列的规范。生成列的值是根据列定义中包含的表达式计算的。
但是,语法似乎是正确的,如果运行5.7或更高版本,则不会看到任何错误。
对于使用计算列的解决方法,您只需在PHP代码中的SELECT语句中计算产品。请记住,在您的表中有任何列,包括计算列,都有开销。如果您不确定您是否经常需要计算的金额,那么首先您可以反对更改您的表。
https://stackoverflow.com/questions/40168226
复制相似问题