Necesito validar datos en Excel antes de cargarlos en una tabla MySQL. (Los datos de validación también están disponibles en las tablas de MySQL).
Por ejemplo, un valor para el país es "India". Antes de insertarlo en la tabla de transacciones MySQL, necesito validar si el valor "India" existe en la tabla maestra del país.
Si no existe o si existe como otros formatos "IND" o "IN", debería producir un error.
Por ejemplo:
Tengo la siguiente tabla MySQL con datos maestros del país:
CREATE TABLE `t1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`country` varchar(256) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB
Valor:
mysql> select * from t1;
+----+---------+
| id | country |
+----+---------+
| 1 | INDIA |
+----+---------+
1 row in set (0.00 sec)
Estructura de la tabla de transacciones dada a continuación:
CREATE TABLE `t2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`country` varchar(256) DEFAULT NULL,
`name` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
)
Los valores para las tablas de transacciones disponibles en hojas de Excel. Necesito validar los datos de Excel con la tabla MySQL e insertar solo si la tabla contiene los mismos datos.
Ejemplo:
Para la tabla de transacciones, país de valor maestro, debe aceptar solo si el país tiene el valor "INDIA" en el mismo formato, todo lo demás, como "IN", "IND", debe fallar.
Esta validación debe hacerse a nivel de Excel para que los miembros del equipo puedan cambiar el valor en consecuencia y cargar los datos regularmente.
Por favor, avíseme sobre cómo realizar esta tarea.
Nota: Esta es una duplicación de esta pregunta: https://dba.stackexchange.com/q/221786/21119 .
fuente