无法删除外键约束中所需的列

时间:2017-07-11 21:18:26

标签: mysql database-connection

在服务器

中执行SQL脚本
  

错误:错误1829:无法删除列'cod_Cliente':表'gimnasio.cuotas'的外键约束'fk_Cuotas_Clientes1'中需要

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个失败

1 个答案:

答案 0 :(得分:1)

在修改主键字段之前删除外键:

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);