Foros del Web » Programando para Internet » PHP »

No puedo ccrear una relacion

Estas en el tema de No puedo ccrear una relacion en el foro de PHP en Foros del Web. tengo un pequeño problemita al relacionar tablas y esque me marca el siguiente error: #1005 - Can't create table 'icateq.#sql-974_8c' (errno: 150) tengo una tabla ...
  #1 (permalink)  
Antiguo 28/06/2013, 12:45
 
Fecha de Ingreso: mayo-2013
Ubicación: Querétaro
Mensajes: 4
Antigüedad: 10 años, 10 meses
Puntos: 0
No puedo ccrear una relacion

tengo un pequeño problemita al relacionar tablas y esque me marca el siguiente error:

#1005 - Can't create table 'icateq.#sql-974_8c' (errno: 150)

tengo una tabla llamada indicador que tiene el campo que va a se en este caso la yave foranea

y es :

id_ubm tipo varchar 4

y la tabla padre es ubm con su llave principal

id_ubm varchar 4

y este es el codigo que use para crear la relacion.

ALTER TABLE `indicador` ADD CONSTRAINT `FK_unidad` FOREIGN KEY (`id_ubm`) REFERENCES `ubm` (`id_ubm`)

Ahh se me olvidava las tablas ya estan definidas como InnoDb
  #2 (permalink)  
Antiguo 28/06/2013, 13:13
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: No puedo ccrear una relacion

dentro de las formas en que no se pueda crear la llave foránea es que la tabla débil tenga registros no coincidentes con la fuerte, o el usuario no tenga los privilegios necesarios
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 28/06/2013, 22:28
Avatar de alvidales  
Fecha de Ingreso: febrero-2012
Mensajes: 108
Antigüedad: 12 años, 2 meses
Puntos: 11
Respuesta: No puedo ccrear una relacion

para sobrepasar estas verificaciones utiliza el comando

Código:
set foreign_key_checks = 0;
una vez que termines la consulta que vas a realizar vuelve el parametro a como estaba

Código:
set foreign_key_checks = 1;
__________________
Hasta que el hombre no es nada, Dios no puede hacer nada con el.
  #4 (permalink)  
Antiguo 03/07/2013, 08:40
Avatar de exatienda  
Fecha de Ingreso: julio-2013
Ubicación: Manresa, Barcelona
Mensajes: 227
Antigüedad: 10 años, 9 meses
Puntos: 21
Respuesta: No puedo ccrear una relacion

Con el switch de alvidales tendría que valerte para activar/desactivar las llaves foraneas.
__________________
cajas rack tpvs | impresoras
  #5 (permalink)  
Antiguo 03/07/2013, 08:47
 
Fecha de Ingreso: julio-2013
Ubicación: Villa Flandria
Mensajes: 16
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: No puedo ccrear una relacion

Es lo que te dice maycolalvarez, en la tabla INDICADOR tenes en el campo ID_UBM valores que no coinciden con los que tiene la tabla padre en el mismo campo. Tal vez estes admitiendo valores nulos o valor 0 en ese campo de INDICADOR, eso no es posible si habilitas control de constraint. O borras los registros de INDICADOR con valores que no estan en PADRE, o creas un registro de nombre 'inicial' codigo '0', o algo asi, en PADRE y se lo asignas a los campos ID_UMB de INDICADOR o deshabilitas el control de llaver foraneas como bien dijo alvidales!

Saludos.

Etiquetas: relacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:25.