更新列类型后,我的MySQL表“崩溃”。我将VARCHAR
更改为INT
并添加了一些新列。
之后,当我想查看表条目时,每个软件都会不断加载和崩溃......我甚至无法对表格进行任何查询。我所能做的就是查看表格的列表。 (我尝试过PhpMyAdmin,HeidiSQL和MySQL Workbench)。使用HeidiSQL进行更改。
我该怎么办?这是第一次发生这种情况,我已经使用HeidiSQL很长一段时间了。
答案 0 :(得分:0)
您已在表架构中将VARCHAR
更改为INT
。乍一看我们是正确的,只需更改改变列和mysql服务器,而不显示任何错误但是当你改变表时,mysql服务器必须做很多工作。首先将记录临时存储并重新创建模式并插入记录。如果你的表有很多记录,那么很难改变。因此,要么截断表并更改模式,请重新插入或创建其他表,然后将其重命名。
在我看来,解决方案是create table,因为你想要架构。
从表中插入新表中的记录。
eg- insert into new_table (col1, col2) select col1, col2 from old_table;
放下旧桌子
drop table old_table
使用旧表重命名新表
rename new_table to old_table