154
|
Trenton · 技术社区 · 16 年前 |
1
232
如果表使用innodb引擎,通常会出现此错误。在这种情况下,您必须删除外键,然后执行alter表并删除列。 但比较棘手的是,不能使用列名删除外键,而是必须找到用于索引它的名称。要查找此问题,请发出以下选择:
这将向您显示索引的名称,如下所示:
现在只需发布:
最后一个:
你很高兴去! |
2
173
这确实是一个外键错误,您可以使用perror找到:
要了解有关失败原因的更多详细信息,可以使用
在您的案例中,这很可能是因为某些内容引用了Country_id列。 |
3
14
您还可以在尝试删除不存在的外键时获得此错误。因此,在删除外键时,一定要确保它们确实存在。 如果外键确实存在,并且您仍然收到此错误,请尝试以下操作:
//把外键放在这里!
这对我总是有好处的:) |
4
7
只需在drop语句中使用'key'而不是'foreign key'来运行alter table查询。我希望它能帮助解决这个问题,并删除外键约束,您可以更改表列并删除表。
在这里
希望能有所帮助。 谢谢 |
5
2
我也有过类似的问题。我从表A中删除了主键,但当我试图从表B中删除外键列时,出现了上述相同的错误。 不能使用列名删除外键,若要在phpmyadmin或mysql中绕过此项,请在重命名或删除属性之前先删除外键约束。 |
6
2
我知道,这是一篇老文章,但是如果你要查找错误1025,这是第一篇关于每个人最喜欢的搜索引擎的文章。 然而,有一个简单的“黑客”来解决这个问题: 在执行命令之前,首先必须使用以下命令禁用外键约束检查:
然后您就可以执行您的命令了。 完成后,不要忘记使用以下命令再次启用外键约束检查:
祝你的努力好运。 |
7
1
查看MySQL数据库的错误文件。根据 Bug #26305 我的SQL没有给出原因。此bug自MySQL4.1以来就存在;-) |
8
1
如果您使用的是像mysql workbench这样的客户机,请右键单击要从中删除外键的所需表,然后选择“外键”选项卡并删除索引。 然后您可以这样运行查询:
|
9
1
可能有另一个表的外键引用了您要更改的主键。
要找出导致错误的表,可以运行
使用“显示创建表类别”显示约束的名称。 最有可能是类别“IBFK”1 使用名称首先删除外键,然后删除列:
|
10
1
做
手术前也可以做这个把戏。 |
11
0
我猜是外键约束问题。国家/地区ID是否用作另一个表中的外键? 我不是db guru,但我认为我通过删除fk、执行alter table操作,然后重新执行fk操作,解决了这样一个问题(其中存在fk约束)。 我很想知道结果是什么——有时候MySQL相当神秘。 |
12
0
在我的例子中,我使用的是MySQLWorkbench,在将一个列放到表中时遇到了同样的问题。我找不到外键的名称。我按照以下步骤解决了这个问题:
|
13
0
我在MySQL5.6中得到了这个错误,但它与外键无关。这是在一台Windows7专业版机器上,充当一个小型局域网上的服务器。 客户机应用程序正在执行一个批处理操作,该操作创建一个表,用一些外部数据填充它,然后运行一个与永久表联接的查询,然后删除“临时”表。这个批处理大约执行了300次,这个特定的例程已经连续运行了几年,突然出现了错误1025,无法在批处理中的任意点重命名问题。 在我的例子中,应用程序使用了4个DDL语句,一个创建表,后面跟着3个创建索引,没有外键。但是,只有2个索引被实际创建,而实际的table.frm文件在失败时被重命名。 我的解决方案是去掉单独的create index语句,并使用create table语句创建它们。在写作的时候,这个问题已经为我和我的帮助解决了,当别人发现这个线索的时候,他们会抓他们的头。 |
hello_programmers · Mysql从其他表输出一列 1 年前 |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
Kugelfisch · 用php为数据库加密数据 1 年前 |