我正在尝试删除一个外键,我知道我之前必须放弃它的约束,但我一直在设置这个错误:
#1064 - You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near
'CONSTRAINT `fk_facility`' at line 2
首先我这样做了:
ALTER TABLE `facilities`
DROP CONSTRAINT `fk_facility`;
我的目标是第二次:
ALTER TABLE `facilities`
DROP FOREIGN KEY `building_Id`;
显示创建表:
CREATE TABLE `facilities` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`building_Id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`type` varchar(255) DEFAULT NULL,
`area` varchar(255) DEFAULT NULL,
`capacity` varchar(255) DEFAULT NULL,
`quantity` tinyint(4) DEFAULT NULL,
`internet` char(13) DEFAULT NULL,
`availability` char(3) DEFAULT NULL,
`comments` varchar(255) DEFAULT NULL,
PRIMARY KEY (`ID`),
KEY `fk_facility` (`building_Id`),
CONSTRAINT `fk_facility` FOREIGN KEY (`building_Id`) REFERENCES `buildings`
(`ID`) ON DELETE CASCADE) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=latin1
答案 0 :(得分:0)
要删除FOREIGN KEY约束,请使用以下SQL(MySQL是奇怪的):
MySQL的:
ALTER TABLE facilities
DROP FOREIGN KEY fk_facility
SQL Server / Oracle / MS Access:
ALTER TABLE facilities
DROP CONSTRAINT fk_facility