Importo empleados a una Tabla (Empleados) de Base de Datos (BD) Mysql. Permitiendo en el Sistema Web, especificar al USUARIO en qué columna se encuentra los campos Apellido, Nombre y Nº de documento (los demás campos de la Tabla son opcionales y se guardan con el valor por defecto).
El problema está cuando el USUARIO se equivoca en especificar las COLUMNAS. Es decir, cuando especifica la columna APELLIDO o NOMBRE por NUMERO_DOCUMENTO (almacenando el valor 0 "Cero").
La Tabla Empleados es la siguiente:
Código MySQL:
Ver original KEY `id_estado_empleado` (`id_estado_empleado`), KEY `id_localidad` (`id_localidad`), KEY `id_puesto` (`id_puesto`), KEY `id_empresa` (`id_empresa`), KEY `id_sexo` (`id_sexo`)
La siguiente CONSULTA 1 (obtiene el resultado deseado, el ERROR):
Código MySQL:
Ver originalINSERT INTO `audical`.
`empleados` (`id_empleado`, `apellido`, `nombre`, `codigo_postal`, `calle`, `numero`, `piso`, `departamento`,
`numero_documento`, `numero_legajo`, `id_estado_empleado`,
`id_localidad`, `id_puesto`, `id_empresa`, `id_sexo`, `fecha_nacimiento`,
`fecha_alta`, `fecha_baja`, `codigo`, `id_origen_empleado`)
NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2');
Retornando el siguiente ERROR:
1 fila insertada.
La Id de la fila insertada es: 59
Warning: #1366 Incorrect integer value: 'Juana' for column 'numero_documento' at row 1
En cambio, si utilizo esta CONSULTA 2 (que es la que utilizo en el Sistema):
Código MySQL:
Ver originalINSERT INTO `audical`.
`empleados` (`apellido`, `nombre`, `numero_documento`)
VALUES ('Cuello', '36123456', 'Juana');
Retornando que la consulta se ejecutó exitosamente, insertando el registro:
1 fila insertada.
La Id de la fila insertada es: 60 ( La consulta tardó 0.0532 seg )
¿Por qué la CONSULTA 2 no devuelve ERROR como la CONSULTA 1?
Desde ya muchas gracias..