这是“人与订单”之间的常见示例。我只是从Internet复制它作为测试。
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-无法删除'PersonID';检查列/键是否存在
答案 0 :(得分:3)
使用以下语句标识约束的名称:
SELECT CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_NAME = 'Orders'
AND COLUMN_NAME = 'PersonID';
在CONSTRAINT_NAME
语句中使用ALTER TABLE
的结果。例如:
ALTER TABLE Orders
DROP FOREIGN KEY `myconstraint`;
得出的答案
答案 1 :(得分:0)
您需要删除约束以及键。首先通过执行以下
查找约束1)显示创建表订单;
在此屏幕快照“ fk_dayBreakUp_timetable”中获取CONSTRAINT ..的值
2)ALTER TABLE命令DROP外键《
您可以在
3)ALTER TABLE命令DROP键<<列名>>
希望这可以解决您的问题。