gpt4 book ai didi

mysql - 不能在 mySQL 中删除外键

转载 作者:行者123 更新时间:2023-11-29 05:03:26 25 4
gpt4 key购买 nike

这是 Persons 和 Orders 之间的常见示例。我只是从互联网上复制它作为测试。

CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID) );

CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(ID)
);

至此一切顺利。但是我怎样才能删除外键 PersonID?

我试过了。

ALTER TABLE Orders
DROP FOREIGN KEY PersonID;

MySQL 说:

1091 - Can't DROP 'PersonID'; check that column/key exists

最佳答案

使用语句标识约束的名称:

SELECT CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_NAME = 'Orders'
AND COLUMN_NAME = 'PersonID';

在您的 ALTER TABLE 语句中使用来自 CONSTRAINT_NAME 的结果。例如:

ALTER TABLE Orders
DROP FOREIGN KEY `myconstraint`;

来自 MySQL Reference Manual 的答案

关于mysql - 不能在 mySQL 中删除外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53308826/

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