У меня есть база данных, которая содержит PlayerID, goals, yellows,reds
То, что я хотел бы сделать, это приращение столбцов на основе playerID и даже (цели, желтый, красный) в один заявление. В настоящее время это делается один playerID в то время:Mysql обновления другое поле (столбец) для каждого идентификатора
UPDATE players SET $event=$event+1 WHERE id=$playerID
где $event
будет содержать имя поля (goals, yellows, reds)
То, что я хотел бы сделать, это иметь все это в одном операторе. Если вы представите себе игрок 1 получил желтый и игрок 2 получил красную, то я бы КАРТИНЫ заявления как:
UPDATE players SET (yellows=yellows+1,reds=reds+1) WHERE id=(1,2)
Я знаю, что приведенный выше код неправильно, но я надеюсь, что это помогает дать представление о том, что я хотел бы делать. Каждый аргумент SET
соответствует соответствующему аргументу id
. Индивидуально было бы:
UPDATE players SET yellows=yellows+1 WHERE id=1
UPDATE players SET reds=reds+1 WHERE id=2
Я не ищет:
UPDATE players SET (yellows=yellows+1,reds=reds+1) WHERE id IN (1,2)
Хотя вы можете попробовать сделать это с довольно сложная функция 'if', что случилось с использованием нескольких' обновлений'? –
Ничего, просто интересно, есть ли лучший способ. С php mysql_query() как бы связать несколько UPDATES? Просто с запятой в конце: mysql_querry («UPDATE players SET $ event1 = $ event1 + 1 WHERE id = $ playerID1, UPDATE игроки SET $ event2 = $ event2 + 1 WHERE id = $ playerID2") ?? – nicky
Нет, вы просто выполнили бы несколько 'mysql_query':' mysql_query («игроки UPDATE SET $ event1 = $ event1 + 1 WHERE id = $ playerID1"); mysql_query ("UPDATE players SET $ event2 = $ event2 + 1 WHERE id = $ playerID2"); ' –