小编Cir*_*rou的帖子

列重命名时出现Mysql错误150

我有一个旧的数据库,其中有column'charset到latin1

现在我正在尝试在utf8中更改整个数据库,我已经创建了一个脚本来更改utf8中的所有表,如下所示:

ALTER TABLE `mytable` CHARACTER SET utf8;
Run Code Online (Sandbox Code Playgroud)

和所有列这样:

ALTER TABLE `mytable` CHANGE `mycolumn` `mycolumn` varchar(200) CHARACTER SET utf8;
Run Code Online (Sandbox Code Playgroud)

但在某些列(主键和约束,我猜)我收到此错误:

Error on rename of './test/#sql-5028_217b96' to './test/mytable' (errno: 150)
Run Code Online (Sandbox Code Playgroud)

谁知道怎么解决这个问题?

mysql alter-table character-encoding

5
推荐指数
1
解决办法
2982
查看次数

标签 统计

alter-table ×1

character-encoding ×1

mysql ×1