..
И "Хорошо известно, что правильное управление запроса является обязательным условием для стабильной и эффективной реализации.
В этой статье мы приведем малоизвестные, но очень мощный синтаксис, я говорю о ON DUPLICATE KEY UPDATE пункта.
Это положение используется при INSERT заявление и его целью является проверка, до ее введения, существует дублирование первичного ключа (первичный ключ) или уникальный ключ (уникальный ключ), а если это происходит двигателя un'UPDATE MySQL вместо этого вставить.
Преимущество этого пункта ясно: вы пишете один запрос вместо двух с преимуществами с точки зрения производительности и код очистки.
Давайте возьмем пример. Предположим, мы хотим сделать простой скрипт, который осуществляет регистрацию посетителей нашего сайта. Ниже таблица структуры нашей БД:
Благодаря синтаксис INSERT ... ON DUPLICATE KEY UPDATE ... мы можем достичь того же результата с помощью одного запроса:
INSERT INTO VALUES ip_visitatori ('123 .123.123.123 ', 1, NOW ())
ON KEY DPLICATE
UPDATE numero_visite numero_visite = + 1, ultima_visita = NOW ();
Таким образом, если IP является включение сделан, иначе вы запустите простое обновление пострадавших записи.
Используя этот синтаксис позволяет получать выгоду с точки зрения производительности на 30%.
С небольшим "воображение и изобретательность положение в вопросе не может быть очень полезным в различных обстоятельствах.
Например, мы можем использовать его в комбинации с условием.
Вот пример: предположим, у вас есть таблица гипотетических интернет-аукционе структурирована следующим образом:
Предложения INSERT INTO VALUES (1, 120) ON KEY DPLICATE UPDATE migliore_offerta = ЕСЛИ (VALUES (migliore_offerta) <120, 120, VALUES (migliore_offerta))Благодаря простой запрос мы решили одним махом ... В противном случае нам бы пришлось использовать несколько запросов с последующей тратой ресурсов (и более высокий риск ошибок).
| |
MS Access (хороший)
Узнайте, как создавать и управлять базами данных быстро и легко. Начиная от 29 €. |
| |
MySQL (курс)
Управление с открытым исходным кодом базы данных. С 39 €. |
| |
SQL и базы данных (курс)
Создание и управление реляционными базами данных. С 39 €. |