Mysql将列数据类型从整数更改为double而不会丢失旧数据

时间:2014-03-19 06:41:30

标签: mysql

我在表中有一个BEDS列,它的类型是int(11)现在有一个要求,我需要将它更改为double,它也可以取十进制值。    这是我可以使用的代码:

ALTER TABLE t1 MODIFY BEDS double;

但在这里我只是担心我会丢失已经存在的数据? 如果是这样,那么我可以更新的替代方案是什么,而不影响现有数据?

1 个答案:

答案 0 :(得分:0)

如果您愿意,可以在表BEDS_double中创建新字段,然后将现有字段中的数据复制到新字段中:

UPDATE TABLE
SET BEDS_double = BEDS;

但是没有必要这样做。如果您将字段的类型从int更改为double,则不会丢失任何数据。另一方面,如果您从double转换为int,您可能会失去精确度,并且您的数据可能会受到舍入的影响。