我尝试运行以下查询:
ALTER TABLE ORDER_DETAIL DROP foreign key USER_ID;
它说:
Error Code: 1091. Can't DROP 'USER_ID'; check that column/key exists
当我跑步时:
ALTER TABLE ORDER_DETAIL DROP COLUMN USER_ID
它说:
Error Code: 1553. Cannot drop index 'USER_ID': needed in a foreign key constraint 0.098 sec
但是当我跑步时:
desc ORDER_DETAIL;
我得到:
Field,Type,Null,Key,Default,Extra
ORDER_ID,int(11),NO,PRI,NULL,
USER_ID,int(11),NO,MUL,NULL,
ORDER_DATE,date,YES,,NULL,
谁能解释这是什么问题以及如何解决?
由于MySQL为外键创建索引,因此直接尝试删除外键不起作用。因此,此处提供的答案无效。
对我有用的正确的SQL查询是这样的:
ALTER TABLE ORDER_DETAIL DROP FOREIGN KEY ORDER_DETAIL_ibfk_1;
这里要注意的重要一点是 _ibfk_1
而且只有在那之后,我才能使用以下内容删除该列:
ALTER TABLE ORDER_DETAIL DROP COLUMN USER_ID;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句