2017-07-11 30 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' –