0
我需要对MySQL INNODB表进行一些模式更改(将主键列从INT更改为BIGINT)......似乎必须删除主键。 。但如果我尝试:无法更改或删除MySQL中的表
ALTER TABLE `myschema`.`mytable` DROP PRIMARY KEY
我得到:
错误1025:错误的重命名 '\ MYSCHEMA#SQL-1344_36' 到(错误:150)' \ MYSCHEMA \ mytable的。”
我可以负担掉整个表并重新创建它(小表只有几个数据行); 但是如果我尝试:
drop table `myschema`.`mytable`
我得到:
错误1217:不能删除或更新父行,外键约束失败
如果我做的:
use INFORMATION_SCHEMA;
select * from KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'mytable';
我得到零行返回,表明有一些其他依赖没有透露通过KEY_COLUMN_USAGE
我宁愿不放弃整个模式(而不必重新加载所有数据)...
什么可以阻止我做我想要的模式更改?我怎么能识别它,以及我可以采取哪些纠正措施?
只是改变了列应该工作,对不对? http://sqlfiddle.com/#!2/b531c –
哇......只是尝试了ALTER列来改变数据类型,它的工作。我确定我以前曾尝试过相同的错误结果。 – Zenilogix
它仍然让我不能放弃关键列。我正在对其他表进行类似的更改,并且除了一个表上的所有主键都可以工作。 – Zenilogix