Сумма при дубликате - MySQL

Узнай цену своей работы

Формулировка задачи:

Добрый вечер. Есть таблица с 3-мя столбцами. Хочу сделать так,чтобы при одинаковых полях idpost,idtov количество (kolvo) суммировалось. Сделал временное решение,которое просто выводит в нужном мне виде,но как составить запрос,чтобы это происходило при добавлении? Вот так вывожу в таблицу на форме:
Листинг программы
  1. $sql = mysql_query('SELECT *, SUM(`kolvo`) FROM `postavka` GROUP BY `idpost`,`idtov` ORDER BY `idpost` ');
Запрос ввода в таблицу:
Листинг программы
  1. $sql = mysql_query("INSERT INTO postavka (idpost,idtov,kolvo)" .
  2. "VALUES('{$post}','{$tov}','{$kol}')");

Решение задачи: «Сумма при дубликате»

textual
Листинг программы
  1. INSERT INTO postavka (idpost,idtov,kolvo) VALUES ('{$post}','{$tov}','{$kol}')
  2.   ON DUPLICATE KEY UPDATE kolvo=kolvo+{$kol};

Объяснение кода листинга программы

  1. Создаем таблицу postavka с полями idpost, idtov, kolvo.
  2. Вставляем данные в таблицу postavka с помощью оператора INSERT INTO.
  3. Если в таблице уже есть запись с таким idpost и idtov, то обновляем значение kolvo с помощью оператора ON DUPLICATE KEY UPDATE.
  4. Значение kolvo увеличивается на $kol.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут