2013-04-07 102 views
3

我试图从INT更改数据类型在MySQL中FLOAT这样的:修改INT浮动(MySQL的)

ALTER TABLE user MODIFY rate float(5) NOT NULL 

但是,目前的数据DROP掉。有什么方法可以修改\将数据从INT保存到FLOAT和SQL?

+5

一种方法是1.用新类型添加一个新列。 2.将旧列中的所有数据复制到新列。 3.删除旧的列。 – Aiias 2013-04-07 06:12:06

+2

你可以添加一个样本到SQLfiddle当前的数据实际被删除?它不应该是,[我无法实现](http://sqlfiddle.com/#!2/aeade/1)。 – 2013-04-07 06:15:54

+0

Tnx,很多。完成。 – Yevgen 2013-04-07 06:26:28

回答

9
ALTER TABLE `user` CHANGE rate intrate INTEGER; 
ALTER TABLE `user` ADD rate float(5) NOT NULL DEFAULT 100; 
UPDATE `user` SET rate=intrate; 
ALTER TABLE `user` DROP intrate; 
6

我刚才想

ALTER TABLE user MODIFY rate float(5) NOT NULL 

与MySQL 26年6月5日,它的工作不失值。

+1

真实的故事。收到! – Yevgen 2015-11-13 04:08:25