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
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