2011-10-09 41 views
3

我需要改变一个表来改变列的类型。如果当前列的类型是DECIMAL(8,2),并且将该列更改为DOUBLE,那么该列中已有的数据是否也会被更改以反映该列的新类型?请问MySQL ALTER TABLE重新格式化字段数据?

+1

用DECIMAL(8,2)创建一些带有一些数据的测试表。然后执行alter table。在这次测试后告诉我们发生了什么! – llazzaro

+1

我认为它确实如此,但您可以创建一个数据库,然后使用一些测试数据进行分析。欢呼 – Michael

+0

@OMG小马 - 感谢编辑,现在好多了。 –

回答

2

它应该。但是,在更改现有表格时始终保持安全。

我首选做这种类型的操作方式是:

  1. 进行备份
  2. 创建新列
  3. 更新所有行移动旧的数据到新的列
  4. 检查新列任何错误和必要修复
  5. 删除旧列
+0

谢谢,这是非常好的建议! –