2017-07-11 33 views
-1

需要列在服務器中執行SQL腳本不能刪除外鍵約束

ERROR: Error 1829: Cannot drop column 'cod_Cliente': needed in a foreign key constraint 'fk_Cuotas_Clientes1' of table 'gimnasio.cuotas'

ALTER TABLE `Gimnasio`.`Clientes` DROP COLUMN `Observación` , 
DROP COLUMN `Cedula` , DROP COLUMN `cod_Cliente` , 
CHANGE COLUMN `FechaDeNacimiento` `FechaDeNacimiento` INT(11) NULL DEFAULT NULL, 
CHANGE COLUMN `Dirección` `Dirección` VARCHAR(100) NULL DEFAULT NULL , 
ADD COLUMN `cod_Cliente` INT(11) NOT NULL FIRST , 
ADD COLUMN `Cédula` INT(11) NULL DEFAULT NULL AFTER `Apellido` , 
ADD COLUMN `Observación` VARCHAR(150) NULL DEFAULT NULL AFTER `Telefono` , 
DROP PRIMARY KEY , 
ADD PRIMARY KEY (`cod_Cliente`) 

SQL腳本執行完畢:語句:12成功,1失敗

+0

刪除列之前刪除外鍵約束? –

+0

另外,請不要標記與該問題無關的語言。 –

回答

0

刪除外鍵前修改主鍵字段:

ALTER TABLE gimnasio.cuotas 
    DROP FOREIGN KEY fk_Cuotas_Clientes1 

尾部呃,你的ALTER TABLE

最後,不要忘了再次創建的關係:

ALTER TABLE gimansio.cuotas ADD CONSTRAINT fk_Cuotas_Clientes1 FOREIGN KEY (col_name) REFERENCES gimnasio.Clientes(cod_Cliente); 
+0

我把這個代碼放在哪裏? –

+0

我很抱歉,但我在這個新的 –

+0

您的指令前的第一個塊。並在你的指令後結束塊。 (用'cuotas'的列名替換'col_name' –