Как я могу увеличить int в ячейке базы данных MySQL? Я знаю, что автоинкремент бесполезен, потому что я никогда не хочу добавлять новую строку, просто обновляю существующую. В настоящее время я использую это (переменная POST используется для пояснения, проверена в реальном коде):
$columnToUpdate = 'type'.$_POST['voteid'];
$query = "UPDATE myTable $columnToUpdate = $columnToUpdate+1 WHERE id=1;";
if(!mysql_query($query)) {
echo json_encode(array('success' => false, 'message' => 'Update failed: '.mysql_error()));
exit;
}
В базе данных у меня есть 6 полей, id, type1, type2, type3, type4, type5 и одна строка с id, установленным на 1. Намерение состоит в том, чтобы получить число (1-5) и создать ссылку на правильный столбец перед обновлением поля. Это приводит к Update failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=type4+1 WHERE id=1' at line 1
, поэтому я предполагаю, что значение поля не выводится должным образом до того, как оно увеличивается.
Как только это сработает, мне также нужно будет уменьшить значение поля таким же образом, если только его значение не равно 0. Итак, что касается бонусных баллов, могу ли я сделать все это в одном запросе или лучше разделить его?