How to Change Decimal(10,2) datatype to float/double in mysql

时间:2015-07-28 15:52:58

标签: mysql database

I am trying to change the type of of a column in mysql. I want to change the datatype from decimal(10,2) to float or double. I went through the different posts on Stackoverflow and tried the following query

    ALTER TABLE tablename MODIFY columnname float;

When I run the Query, it does not complete execution.Please advice.

1 个答案:

答案 0 :(得分:0)

MySQL中的Alter表不是很快。在10GB的桌子上,它可能需要很长时间,而且你的桌子将无法一直访问。

换句话说,你观察到的不是一个悬挂的变换表,它是一个非常缓慢的变换表。

解决这个问题的一种方法是创建一个包含所需新架构的新表,然后将旧表中的INSERT ... SELECT数据创建到新表中,然后删除旧表并将新表重命名为旧桌子。这样,在更改架构时,您的数据可以被读取。从技术上讲,它也可以用于写入,但是当您丢弃旧表时,这些写入将自然丢失。

在MySQL中无法进行在线更改(ALTER TABLE允许您在更改表时读取和写入)。