0

这更像是一个元问题,而不是我需要的实际帮助,但我在其他地方找不到有关它的信息。今天,我尝试从数据库中删除两个表,并在尝试时收到“外键约束失败”的错误消息。没问题,只需删除外键即可。所以我的查询如下所示:

ALTER TABLE Database.mytable
DROP FOREIGN KEY abc_ibfk_1;
ALTER TABLE Database.mytable
DROP COLUMN abc;

我收到另一条错误消息,上面写着“错误代码:1025。将'./Database/#sql-461_somerandomnumbers'重命名为'./Database/mytable'(errno:150)时出错”

我想我会使用内置的右键单击,在编辑表中删除列,因此我使用它并意识到它也使用“删除索引”。因此,我将代码更改为与 Workbench 完全一样:

ALTER TABLE Database.mytable
DROP FOREIGN KEY abc_ibfk_1;
ALTER TABLE Database.mytable
DROP COLUMN abc, DROP INDEX abc;

现在,这与 Workbench 完全一样,只是当我自己键入时它不会执行(错误消息上方),但是当我允许 Workbench 执行查询时它工作正常。


所以,我的问题是,当我无法复制/粘贴时,为什么 Workbench 能够执行放置查询?

4

1 回答 1

2

可能您手动执行的查询(错误地)增加了,例如添加了自动 LIMIT 子句。运行该查询后,查看输出区域(操作输出)。它包含发送到服务器的确切查询。它是否包含任何不寻常的东西?或者,使用管理部分查看常规日志(如果启用)以查看发送的查询。

于 2013-03-21T07:41:41.523 回答