Мне нужно проверить данные в Excel перед загрузкой в таблицу MySQL. (Проверяющие данные также доступны в таблицах MySQL.)
Например, значение для страны - «Индия». Перед тем, как вставить его в таблицу транзакций MySQL, мне нужно проверить, существует ли значение «Индия» в таблице основных стран.
Если он не существует или существует в других форматах «IND» или «IN», он должен выдать ошибку.
Например:
У меня есть следующая таблица MySQL с данными основной страны:
CREATE TABLE `t1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`country` varchar(256) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB
Значение:
mysql> select * from t1;
+----+---------+
| id | country |
+----+---------+
| 1 | INDIA |
+----+---------+
1 row in set (0.00 sec)
Структура таблицы транзакций приведена ниже:
CREATE TABLE `t2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`country` varchar(256) DEFAULT NULL,
`name` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
)
Значения для таблиц транзакций доступны в таблицах Excel. Мне нужно проверить данные Excel с таблицей MySQL и вставить, только если таблица содержит те же данные.
Пример:
Для таблицы транзакций, главной страны значения, она должна принимать только в том случае, если страна имеет значение «ИНДИЯ» в том же формате, все остальные, такие как «IN», «IND», должны быть ошибочными.
Эта проверка должна выполняться на уровне Excel, чтобы члены группы могли соответствующим образом изменить значение и регулярно загружать данные.
Посоветуйте, пожалуйста, как выполнить эту задачу.
Примечание. Это дублирование этого вопроса - https://dba.stackexchange.com/q/221786/21119.