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