我在表中有一个BEDS列,它的类型是int(11)现在有一个要求,我需要将它更改为double,它也可以取十进制值。 这是我可以使用的代码:
ALTER TABLE t1 MODIFY BEDS double;
但在这里我只是担心我会丢失已经存在的数据? 如果是这样,那么我可以更新的替代方案是什么,而不影响现有数据?
答案 0 :(得分:0)
如果您愿意,可以在表BEDS_double
中创建新字段,然后将现有字段中的数据复制到新字段中:
UPDATE TABLE
SET BEDS_double = BEDS;
但是没有必要这样做。如果您将字段的类型从int
更改为double
,则不会丢失任何数据。另一方面,如果您从double
转换为int
,您可能会失去精确度,并且您的数据可能会受到舍入的影响。