【问题标题】:Why I got this error: "SQL Error 1025: Error on rename of '...' to '...' (errno: 150)"?为什么我收到此错误:“SQL 错误 1025:将 '...' 重命名为 '...' 时出错 (errno: 150)”?
【发布时间】:2011-05-01 03:35:47
【问题描述】:

我想在 MySQL 5.2.25 版中从“alter table”重命名一个表的字段,但是我收到了这个错误:

SQL Error 1025: Error on rename of '.\Packers\#sql-804_3' to '.\Packers\pattern' (errno: 150)

但是在其他表我没有这个问题,不知道为什么,是外键引起的吗?

【问题讨论】:

    标签: mysql mysql-error-1025


    【解决方案1】:

    是的,这是一个外键错误。在您尝试alter table 之后立即执行show innodb status,部分输出将是最后一个外键错误详细信息。

    通常这是由外键字段上的数据类型不匹配引起的(它在一个表中是“int”,但在您的 alter 表中是“bigint”,或者一个是无符号的而另一个不是,等等......)

    【讨论】:

    • 嗨,错误不是由数据类型引起的,这是“显示innodb状态”的结果:==================== ================ 101030 13:50:43 INNODB 监控输出 ========================= ============ 从最后 45 秒计算的每秒平均值 ---------- 信号量 ---------- OS WAIT ARRAY INFO:预留计数 4 , 信号计数器...
    • 状态输出太大,无法粘贴到评论中。编辑您的问题并将其粘贴到那里。
    猜你喜欢
    • 2011-05-04
    • 2011-04-24
    • 1970-01-01
    • 2013-11-09
    • 2013-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多