Mysql 错误与“;作为「;创建计算列时
我正在尝试建立一个医院就诊数据库,我想修改“就诊”表,并添加一个新列,显示患者用药的总成本(通过乘以费用(从表“用药”)*数量(从表“getsmed”)) 然而,我在MySQL workbench中编写了这段代码,但它不会运行,并且会在带有标题的world“as”下面一行(“as”在此位置无效,应为:BIT、BOOL、BOOLEAN、DATETIME、TIME、ENUM…)Mysql 错误与“;作为「;创建计算列时,mysql,sql,Mysql,Sql,我正在尝试建立一个医院就诊数据库,我想修改“就诊”表,并添加一个新列,显示患者用药的总成本(通过乘以费用(从表“用药”)*数量(从表“getsmed”)) 然而,我在MySQL workbench中编写了这段代码,但它不会运行,并且会在带有标题的world“as”下面一行(“as”在此位置无效,应为:BIT、BOOL、BOOLEAN、DATETIME、TIME、ENUM…) 在MySQL中,添加计算列时需要指定类型: alter table visit add total_charge
在MySQL中,添加计算列时需要指定类型:
alter table visit
add total_charge decimal(20, 4) as (Mcharge * Quantity);
但是,计算列只能直接引用同一行中的列值。它无法“伸出”到其他表。这给了您两个选择:
我实际上无法建议任何具体代码,因为您在问题中没有提供足够的信息。请查看并提供total_charge的数据类型,顺便说一句,您无法访问其他表或使用函数来访问。我不认为存储一个可计算列是件好事“存储函数和用户定义函数是不允许的”——我想你是说存储一个可计算列?
alter table visit
add total_charge decimal(20, 4) as (Mcharge * Quantity);