Как найти записи и добавить их в другой файл

Что-то важное для добавления: при использовании INSERT IGNORE и у вас есть ключевые нарушения, MySQL НЕ поднимет предупреждение!

Если вы попытаетесь, например, вставить 100 записей за раз, с одной неисправной , вы попадете в интерактивный режим:

Query OK, 99 rows affected (0.04 sec)

Records: 100 Duplicates: 1 Warnings: 0

Как видите: Нет предупреждений! Это поведение даже ошибочно описано в официальной документации Mysql.

Если ваш скрипт должен быть проинформирован, если некоторые записи не были добавлены (из-за нарушений ключа), вы должны вызвать mysql_info () и проанализировать его для значения «Duplicates».

0
задан Tiw 17 January 2019 в 08:38
поделиться

1 ответ

Это довольно простая работа, и 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

Но, пожалуйста, покажите свои собственные усилия в следующий раз, как Вы искали / пытались и не смогли.
Помоги себе, помоги другим помочь тебе.

0
ответ дан Tiw 17 January 2019 в 08:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: