MySQL - #1215 - No puede adicionar clave extranjera constraint

 
Vista:
sin imagen de perfil

#1215 - No puede adicionar clave extranjera constraint

Publicado por Alejandro (3 intervenciones) el 14/06/2018 10:00:40
Hola a ver si alguien me puede dar una mano...
Necesito crear esta tabla

y cuando importo el archivo sql me da este error


#1215 - No puede adicionar clave extranjera constraint

Por favor yo no soy programador alguien me puede ayudar diciendome donde
este al error y como solucionarlo mil mil gracias
-----------------------------------------------------------------------------------------------------

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
SET FOREIGN_KEY_CHECKS = 0;
 
CREATE TABLE `mw_zone` (
`zone_id` int(11) NOT NULL,
`country_id` int(11) NOT NULL,
`name` varchar(150) NOT NULL,
`code` varchar(50) NOT NULL,
`status` char(10) NOT NULL DEFAULT 'active',
`date_added` datetime NOT NULL,
`last_updated` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 
ALTER TABLE `mw_zone`
ADD PRIMARY KEY (`zone_id`),
ADD KEY `fk_zone_country1_idx` (`country_id`);
 
 
ALTER TABLE `mw_zone`
MODIFY `zone_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3970;
 
 
ALTER TABLE `mw_zone`
ADD CONSTRAINT `fk_zone_country1` FOREIGN KEY (`country_id`) REFERENCES `mw_country` (`country_id`) ON DELETE CASCADE ON UPDATE NO ACTION;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 953
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

#1215 - No puede adicionar clave extranjera constraint

Publicado por leonardo_josue (414 intervenciones) el 14/06/2018 15:44:34
Hola Alejandro:

Si es posible, postea el Script completo que estás tratando de importar o al menos, lo referente a la creación de la tabla mw_country que es a la que hace referencia la tabla que estás tratando de crear. El error puede ser ocasionado por muchas razones (que el campo referencia no exista, que los tipos de datos no sean iguales, que haya datos en las tablas, etc.)

Así, con el script completo, podremos saber en donde está el problema.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

#1215 - No puede adicionar clave extranjera constraint

Publicado por Mónica Murcia (1 intervención) el 27/11/2019 16:28:12
Gracias por tu aporte, en mi caso sucede por el:

ENGINE = InnoDB, al momento de no ejecutar esta línea del Script me sale correcto, pero tengo el mismo problema al ejecutar mi tabla, por lo cual sucede con las llaves Foraneas si no tuviera estaría totalmente correcto algo de poner demás?:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE TABLE USUARIO (
	IDDOCUMENTO INT UNSIGNED AUTO_INCREMENT  NOT NULL ,
	DOCUMENTO INT(15) NOT NULL,
	IDTDOCUMENTO_FK INT NOT NULL,
	INDEX (IDTDOCUMENTO_FK),
	FOREIGN KEY(IDTDOCUMENTO_FK) REFERENCES TIPO_DOCUMENTO (IDTDOCUMENTO),
	NOMBREUNO VARCHAR(20) NOT NULL,
	NOMBREDOS VARCHAR(20) NOT NULL,
	APELLIDOUNO VARCHAR(20) NOT NULL,
	APELLIDODOS VARCHAR(20) NOT NULL,
	DIRECCION VARCHAR(20) NOT NULL,
	CORREO VARCHAR(20) NOT NULL,
	FACTUAL TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL,
	CONSTRAINT IDDOCUMENTO PRIMARY KEY (IDDOCUMENTO)
)ENGINE = InnoDB
COLLATE = utf8_spanish_ci;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

#1215 - No puede adicionar clave extranjera constraint

Publicado por OmarC77 (1 intervención) el 05/02/2021 12:44:31
Considerar en tu diseño que los campos sean iguales en estructura, no nulos, mismo tipo de datos, que tengan índice, que tenga el mismo tipo de cotejamiento importante, que ambas tablas esten en InnoDB. Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar