我可以撤销-MySQL中的altertable吗?

我可以撤销-MySQL中的altertable吗?,mysql,alter,Mysql,Alter,不知道是否可能,我将VARCHAR列更改为Decimal类型,希望回滚。因为它将所有浮点值混合为整数。大约2点变成了200点。有没有办法撤销我上次对桌子的修改?请告知。不,您不能回滚更改表语句 某些语句无法回滚。通常,这些语句包括数据定义语言(DDL)语句,例如创建或删除数据库的语句,创建、删除或更改表的语句或存储例程的语句 (强调矿山) 正如上面Chris Peters的评论,您可以执行反向ALTER TABLE操作,然后使用UPDATE语句清理数据。您最好的办法是从运行ALTER语句之前还

不知道是否可能,我将VARCHAR列更改为Decimal类型,希望回滚。因为它将所有浮点值混合为整数。大约2点变成了200点。有没有办法撤销我上次对桌子的修改?请告知。

不,您不能回滚
更改表
语句

某些语句无法回滚。通常,这些语句包括数据定义语言(DDL)语句,例如创建或删除数据库的语句,创建、删除或更改表的语句或存储例程的语句

(强调矿山)


正如上面Chris Peters的评论,您可以执行反向
ALTER TABLE
操作,然后使用
UPDATE
语句清理数据。

您最好的办法是从运行
ALTER
语句之前还原备份。很遗憾,我没有进行任何备份。对不起。唯一的做法是将其转换回VARCHAR,然后手动修复这些值。我知道可能无法知道200是2.00、20.0还是200:(“不幸的是,我没有做任何备份”。希望这将是一个很好的教训,将来在进行更改之前始终备份您的数据。如果您正在编写应用程序,将SQL脚本存储在源代码管理中也是一个很好的做法,这样您就可以获得以前运行的历史记录。