2017-04-26 68 views
3

我已经试用过语法:如何在mysql中删除外键?

Alter Table bc DROP FOREIGN KEY STUD_ID; 

这是给错误:无法DROP 'STUD_ID';检查列/键存在

Alter Table bc DROP CONSTRAINT STUD_ID; 

这是给错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CONSTRAINT STUD_ID' at line 1

建议我的可能途径。

+0

第一个查询就可以了。您的密钥可能与索引列不同。运行'show index from bc' –

+0

嗨,我在第一个查询中看不到任何问题。你可以在这里上传你的餐桌吗? –

+0

@juergend完成了。谢谢! – XYZ

回答

-1
alter table bc drop foreign key forconstraintname 
+1

即使我的评论包含更多的信息。 –

+0

虽然这段代码片段是受欢迎的,并且可能会提供一些帮助,但它会[如果它包含解释](/ meta.stackexchange.com/q/114762)* [如何解决该问题] [会大大改进。没有这些,你的答案就没有什么教育价值了 - 记住,你正在为将来的读者回答这个问题,而不仅仅是现在问的人!请编辑您的答案以添加解释,并指出适用的限制和假设。 –

0

您的第一个查询有效。它告诉你没有这样的钥匙掉落。这意味着你的钥匙有另一个名字。它与它索引的列名称不同。运行

show index from bc 

显示所有关键的名称,然后用正确的名称再次运行查询

Alter Table bc DROP FOREIGN KEY <STUD_ID_index_name> 
1
ALTER TABLE TableName DROP FOREIGN KEY ForeignKeyConstraintName; 

希望这有助于:)

+0

@peter谢谢!完成。 – XYZ