【发布时间】:2014-05-08 21:42:15
【问题描述】:
我有一张有很多列的表。它们之间有 AB 和 AL 都是 decimal(14,3) 。 现在我必须像这样创建一个新表:
create table new as
select AB, AL, (AB/AL)*100 AS M from my_table;
Mysql 给我一些警告,例如:“1265 Data truncated for column M at row 2”。
是否警告我新数字将被四舍五入?安全吗?
现在新列 M 是小数 (24,7),但我只需要四舍五入的 DECIMAL(14, 3)。 我必须做一个 alter table 还是有办法在 create 语句中做到这一点?
我有一个巨大的数据库,其中包含许多这样的列,所以我需要保持表大小最小
【问题讨论】:
-
"我有一张有很多列的表。"这有时表明设计不佳(即非标准化)。