MySQL table "crashed" 列类型更新后

MySQL table "crashed" after column type update

My MySQL table "crashed" 更新列类型后。我将 VARCHAR 更改为 INT 并添加了一些新列。

之后,当我想查看 table 条目时,每个软件都不断加载和崩溃...我什至无法对 table 进行任何查询。我所能做的就是查看 table 的列列表。 (我尝试过使用 PhpMyAdmin、HeidiSQL 和 MySQL Workbench)。使用 HeidiSQL 进行更改。

我该怎么办?这是第一次出现这种情况,我已经使用 HeidiSQL 很长时间了。

您已将 table 架构中的 VARCHAR 更改为 INT。乍一看我们是正确的,只需更改更改列和 mysql 服务器就不会显示任何错误但是当您更改 table 时,mysql 服务器必须做很多工作。首先临时存储记录并重新创建模式并插入记录。如果您的 table 有很多记录,那么很难更改。因此,要么截断 table 并更改模式并重新插入,要么创建其他 table 并在后面重命名。

在我看来,解决方案是根据需要创建 table 架构。

从 table 中插入新 table 中的记录。 例如- insert into new_table (col1, col2) select col1, col2 from old_table;

放弃旧的 table drop table old_table

将新 table 重命名为旧 table rename new_table to old_table