Какой самый быстрый подход к обновлению строки, и если параметры не существуют, вставьте ее.
В моей таблице есть 2 столбца для идентификаторов quote_id, order_id
, и эти столбцы вместе образуют уникальный столбец.Я не хочу, чтобы 2 строки содержали одинаковые quote_id
и order_id
, но каждая из них может иметь несколько строк.
id | quote_id | order_id
1 | q200 | o100
2 | q200 | o101
3 | q201 | o100
Ранее я бы добавил третье поле и объединил бы эти 2 поля с -
чтобы я мог использовать ON DUPLICATE KEY UPDATE
.Но это не очень эффективно, так как я, кажется, забываю иногда добавлять эти поля.
Моя идея состоит в том, чтобы попытаться выполнить запрос на обновление, и если он не удастся, вставьте его, так как я выполняю намного больше запросов на обновление, затем вставляю,Как бы поместить это в один запрос вместо того, чтобы сервер MySQL возвращал ошибку, а затем я снова запускаю запрос вставки.
if (
UPDATE table_name SET column1=value, column2=value2 WHERE some_column=some_value === ERROR
) THEN
INSERT INTO table_name ....
Я просмотрел некоторые документы MySQLи я не смог найти пример, показывающий, как в операторе IF
обнаружена ошибка