MySQL #1025 错误

标签 mysql mysql-error-1025

运行此查询时出现#1025 错误。

SQL查询:

ALTER TABLE  `routes` CHANGE  `end_loc`  `end_loc` VARCHAR( 500 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL

MySQL 说:

#1025 - Error on rename of './ridestr/#sql-1f44_26eeb' to './ridestr/routes' (errno: 150) 

这很有趣,因为我在 PHP MyAdmin 中设置了这个查询......我不知道为什么我会收到外键错误......我只是想将一些东西从 int 更改为 varchar

有人能帮忙吗?

最佳答案

如果 routes.end_loc 列在外键中使用,则您无法更改其数据类型。您需要删除外键,更改父列和子列的数据类型,然后再次添加外键。

有关此错误的详细信息,请运行 SHOW ENGINE INNODB STATUS\G,然后查看 LATEST FOREIGN KEY ERROR 部分。

关于MySQL #1025 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5338304/

相关文章:

mysql - mysql错误1025(HY000): Error on rename of './foo' (errorno: 150) mean?是什么意思

mysql - 更改在mysql中具有外键约束的表主键

mysql - 如何检查关系是否存在 - 多对多关系

php - Mysql,网站 'unable to select database'

mysql - 触发错误 ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG : Can't update table

mysql 更新查询不适用于高数字

MySQL TRIM order by 子句中的前导空格问题

mysql - 在 MySQL 中重命名列时出错

sql - 在 MySQL 中重命名外键列