MySQL查询不工作,如何在phpMyAdmin中手动执行

MySQL查询不工作,如何在phpMyAdmin中手动执行,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我正在对magento软件进行升级,但出现以下sql错误: ALTER TABLE `poll` MODIFY COLUMN `store_id` smallint UNSIGNED NOT NULL default '0' COMMENT 'Store id' 即: SQLSTATE[HY000]: General error: 1025 Error on rename of './seedpant_dev/#sql-266d_25a3' to './seedpant_dev/poll' (

我正在对magento软件进行升级,但出现以下sql错误:

ALTER TABLE `poll` MODIFY COLUMN `store_id` smallint UNSIGNED NOT NULL default '0' COMMENT 'Store id'
即:

SQLSTATE[HY000]: General error: 1025 Error on rename of './seedpant_dev/#sql-266d_25a3' to './seedpant_dev/poll' (errno: 150)
实际上,我已经有了100个这样的索引,并一直在检查和解析索引,但这一个是为了修改表,但在phpmyadmin中,我无法确定上面的sql是什么,并在phpmyadmin中复制手动编辑-下面的屏幕截图:

有人能解释一下吗?真的卡住了,可能还有100多个我需要做的

提前谢谢


James

最后只是删除了PHP升级脚本中运行该脚本的部分,并出现了下一个错误,我对此很在行,我知道这不是最好的办法,但没有使用民意测验,所以并不担心。感谢您的每一个帮助

似乎暗示您不能对
ALTER
语句上的外键使用
default
。然而,这只处理将default作为操作的
ON DELETE
子句,因此它可能完全不相关。错误肯定与约束有关。你能检查一下列上有什么约束吗?
store\u id
是否在其他表中被引用为外键?当我搜索错误号时,我得到了两个满是StackOverflow结果的页面,比如:我想你需要在更改列之前删除store\u id上的外键。。然后重新连接它。默认值0对于id引用来说非常奇怪,最好使用默认值NULL或完全去掉默认值。如果该列存在任何空值,它可能正在尝试将其转换为0,这可能会破坏外键。尝试所有这些,似乎没有任何效果