PHP版本5.3.10删除外键

时间:2015-10-27 09:56:56

标签: php mysql foreign-keys

我正在尝试删除一个外键,我知道我之前必须放弃它的约束,但我一直在设置这个错误:

#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

1 个答案:

答案 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