Что-то важное для добавления: при использовании INSERT IGNORE и у вас есть ключевые нарушения, MySQL НЕ поднимет предупреждение!
Если вы попытаетесь, например, вставить 100 записей за раз, с одной неисправной , вы попадете в интерактивный режим:
Query OK, 99 rows affected (0.04 sec)
blockquote>
Records: 100 Duplicates: 1 Warnings: 0
Как видите: Нет предупреждений! Это поведение даже ошибочно описано в официальной документации Mysql.
Если ваш скрипт должен быть проинформирован, если некоторые записи не были добавлены (из-за нарушений ключа), вы должны вызвать mysql_info () и проанализировать его для значения «Duplicates».
Это довольно простая работа, и awk
- действительно нужный инструмент:
awk 'NR==FNR{a[$1]=$2;next}{print [110],a[$1]}' fileb filea
или
awk 'NR==FNR{a[$1]=$2;next}{print $1,$2,a[$1]}' fileb filea
Но, пожалуйста, покажите свои собственные усилия в следующий раз, как Вы искали / пытались и не смогли.
Помоги себе, помоги другим помочь тебе.