Sie müssen einen Fremdschlüssel nach seinem Constraint-Namen löschen, nicht nach dem Namen der Spalte, in der er definiert ist.
Nicht in Ordnung:
mysql> ALTER TABLE `articles` DROP FOREIGN KEY `pubsrc_id`;
ERROR 1091 (42000): Can't DROP 'pubsrc_id'; check that column/key exists
Gut:
mysql> ALTER TABLE `articles` DROP FOREIGN KEY `pub_articles_ibfk_1`;
Query OK, 0 rows affected (0.03 sec)