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

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

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

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

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

textual
Листинг программы
INSERT INTO postavka (idpost,idtov,kolvo) VALUES ('{$post}','{$tov}','{$kol}')
  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