将int修改为float(mysql)

Yev*_*gen 5 mysql sql

我试图在MySQL中将数据类型从INT更改为FLOAT,如下所示:

ALTER TABLE user MODIFY rate float(5) NOT NULL
Run Code Online (Sandbox Code Playgroud)

但目前的数据有所下降.有没有办法用SQL修改从INT到FLOAT的数据?

Fra*_*cía 14

我刚刚尝试过

ALTER TABLE user MODIFY rate float(5) NOT NULL
Run Code Online (Sandbox Code Playgroud)

使用mysql 5.6.26并且它可以在不丢弃值的情况下工作.


Yev*_*gen 11

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;
Run Code Online (Sandbox Code Playgroud)