批量更新mysql表的十进制值并更改列字段类型

时间:2015-05-04 10:25:07

标签: mysql

目前,MySQL中的balance_amount列使用double类型,其中包含11.28839999999999等值。 我想将这些值舍入到2个小数位以变为11.29,并且我想对系统中的所有其他80个表运行批量更新,以便它仅显示2个小数位。之后,我想将其从double更改为decimal (10,2)类型。

CREATE TABLE IF NOT EXISTS `account` (
  `account_id` varchar(15) NOT NULL,
  `description` varchar(100) DEFAULT NULL,
  `balance_amount` double DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

那我怎么能实现呢?

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法将每个表格中的相应列舍入到2位小数:

DECIMAL(10, 2)

然后将每个表中的相应列更改为ALTER TABLE `<table-name>` CHANGE COLUMN `<column-name>` `<column-name>` DECIMAL(10,2) NULL DEFAULT NULL ;

document.getElementById("tableButton").onclick  = RoundRobin(teamsIn);

但这是您应该在维护窗口中进行的操作,而不是工作时间,您应该在执行此操作之前备份数据库作为灾难管理措施。