Автоинкремент MySQL при обновлении

#php #mysql #math

#php #mysql #математика

Вопрос:

Я пытаюсь составить таблицу для обзоров в блогах. В моей таблице я хочу иметь эти столбцы:

  • ID
  • общее количество оценок
  • итоговые значения оценок

Таким образом, я могу просто получить средний рейтинг с помощью простой математики.

Есть ли способ, которым я автоматически добавляю 1 к столбцу, в котором указано общее количество оценок, и добавляю рейтинг к общему количеству общих оценок без необходимости сначала извлекать информацию?

Например, в терминах PHP:

 //instead of doing 
$column=$currentValue;
$column=$column 5;

//do
$column =5;
  

возможно ли это с помощью функции обновления MySQL, если столбцы являются INT?

Ответ №1:

попробуйте что-то вроде этого

 update mytable set total=total 1;
  

Комментарии:

1. Обратите внимание, что total не может быть NULL , чтобы 1 работал должным образом.

Ответ №2:

Вы можете использовать это утверждение:

 UPDATE table1 SET total = IFNULL(total,0)   1;
  

Это установит значение total равным 1, если оно было null раньше, и увеличит его в противном случае.
Хотя это небольшой взлом, лучше создать столбец total как default '0' .