gpt4 book ai didi

mysql - 无法删除唯一约束

转载 作者:行者123 更新时间:2023-11-29 21:28:51 25 4
gpt4 key购买 nike

我有下表:

CREATE TABLE FlightInstance (
FLNO INT,
FDate VARCHAR(10),

PRIMARY KEY (FLNO, FDate)
) ENGINE = INNODB;

我添加了以下约束:

    ALTER TABLE FlightInstance ADD CONSTRAINT FDATE_UNIQUE UNIQUE (FDate);    

我添加了此约束,以便能够使用 FDate 作为引用键并执行此操作(否则我会收到错误):

    ALTER TABLE FlightLegInstance ADD FOREIGN KEY (FDate) REFERENCES    FlightInstance(FDate);    
因此,我在填充表时遇到了 FlightInstance 表中这两个条目的问题:
    INSERT INTO FlightInstance (FLNO, FDate) VALUES (1000 ,"10/5/2015");    ...    INSERT INTO FlightInstance (FLNO, FDate) VALUES (1010 ,"10/5/2015");    

所以我认为我需要删除唯一约束 FDATE_UNIQUE 因为我在 FDate 中有 2 个相同的值,但是在发出此命令时出现此错误:

    Error on rename of './foo/#sql-699d_5b353' to './foo/FlightInstance' (errno:
150)
所以我做了一些研究,有人说我应该删除我的外键约束,因为我使用的是 INNODB,所以我成功地使用了以下命令:
    alter table FlightInstance drop foreign key  FlightInstance_ibfk_1;    

但我仍然遇到与上面相同的错误。我正在使用的命令是:

    alter table FlightInstance drop index FDATE_UNIQUE;    

代替命令中的index,我还使用了UNIQUE KEY,但没有效果。

非常感谢任何帮助。

最佳答案

可能还有另一个外键引用该索引,这就是删除索引无法成功的原因。

为了找出导致错误的外键,请在尝试删除索引后立即运行SHOW ENGINE INNODB STATUS,然后检查LATEST FOREIGN KEY ERROR部分。

关于mysql - 无法删除唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35390079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com