Должен ли я обрабатывать ER_DUP_ENTRY до или после INSERT? - PullRequest
0 голосов
/ 05 мая 2020

У меня Node.js серверное приложение, работающее с MySQL.

Я обрабатываю ER_DUP_ENTRY на стороне Node.js после запроса INSERT, выполненного на текущей версии сервера. Итак, я запускаю INSERT, а затем, если MySQL возвращает это ER_DUP_ENTRY, я показываю предупреждение пользователю.

Я думал, что получение этой ошибки каждый раз из MySQL добавляет дополнительную нагрузку на база данных.

Мой вопрос: нужно ли мне проверять базу данных с помощью SELECT на предмет DUPLICATE, а затем выполнять запрос INSERT, или нет проблем с текущей версией?

1 Ответ

0 голосов
/ 05 мая 2020

Вы не хотите проверять перед выполнением запроса вставки. Просто установите его UNIQUE constraint над таблицей для определенного столбца c или комбинированного столбца (несколько). Поэтому всякий раз, когда вы снова вставляете те же данные, MySQL будет обрабатывать это дублирование.

проверить статус ответа на запрос вставки. Затем вы можете определить, что это успешно / не удалось (дубликат или другая ошибка).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...