Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/06/2012, 15:44
fiu_666
 
Fecha de Ingreso: junio-2012
Mensajes: 19
Antigüedad: 11 años, 10 meses
Puntos: 1
Exclamación Insertar Null en un FOREING KEY

Hola.
Estoy trabajando un Sistema con Php y MySql, con Procedimientos Almacenados.
Tengo un problema al intentar ingresar NULL a un campo FOREING KEY, pero me arroja error.
Estoy tratando de hacerlo con Sentencias Preparadas pero me arroja el mismo error, este es el código que manejo.

Código MySQL:
Ver original
  1. DECLARE sentencia VARCHAR(2000);
  2.         DECLARE var_cargo VARCHAR(1000);
  3.         DECLARE var_eliminado VARCHAR(1);
  4.         DECLARE var_emp_id INT;
  5.  
  6.         SET @var_eliminado = '0';
  7.        
  8.         IF p_emp_id = '' THEN
  9.             SET @var_emp_id = 'NULL';
  10.         ELSE
  11.             SET @var_emp_id = p_emp_id;
  12.         END IF;
  13.  
  14.         IF p_cargo = '' THEN
  15.             SET @var_cargo = 'NULL';
  16.         ELSE
  17.             SET @var_cargo = p_cargo;
  18.         END IF;
  19.        
  20.         SET @sentencia = CONCAT('
  21.         INSERT INTO huesped
  22.         (
  23.         huesped.hue_apellidos,
  24.         huesped.hue_nombres,
  25.         huesped.hue_fecha_nac,
  26.         huesped.hue_nacionalidad,
  27.         huesped.hue_profesion,
  28.         huesped.hue_documento,
  29.         huesped.hue_telefono,
  30.         huesped.hue_direccion,
  31.         huesped.hue_cargo,
  32.         huesped.hue_email,
  33.         huesped.emp_id,
  34.         huesped.tdo_id,
  35.         huesped.hue_eliminado
  36.         )
  37.         VALUES
  38.         (
  39.         ',p_apellidos,',
  40.         ',p_nombres,',
  41.         ',p_fecha_nac,',
  42.         ',p_nacionalidad,',
  43.         ',p_profesion,',
  44.         ',p_documento,',
  45.         ',p_telefono,',
  46.         ',p_direccion,',
  47.         ',@var_cargo,',
  48.         ',p_email,',
  49.         ',@var_emp_id,',
  50.         ',p_tdo_id,',
  51.         ',@var_eliminado,'
  52.         )');
  53.  
  54.         PREPARE consulta FROM @sentencia;
  55.         EXECUTE consulta;
  56.         DEALLOCATE PREPARE consulta;

Si alquien me puede ayudar se lo agradecere mucho.
Gracias de antemano.