Как обновить поле, чтобы добавить значение к существующему значению?

Как обновить поле, чтобы добавить значение к существующему значению?
Например, у меня есть

Название таблицы: table

id   credit
1      4
2      5
3      3

Есть ли способ просто повысить ценность кредита?
как

UPDATE table SET credit = '+7' WHERE id='1' 

Я хочу добавить 7 к 4, чтобы кредит = 11, где id = '1'
Как это сделать?

Ответы

Ответ 1

UPDATE table SET credit = credit + 7 WHERE id = 1

Ответ 2

Это просто UPDATE. Попробуйте следующее.

UPDATE tableName
SET Credit = Credit + 7
WHERE ID = 1

обратите внимание, что ID = 1 и ID = '1' совпадают с сервером, который автоматически анализирует его.

Ответ 3

Просто используйте credit = credit + 7 вместо credit = '+7' в выражении UPDATE

UPDATE tablename SET credit = credit + 7 WHERE id = 1

Смотрите этот SQLFiddle

Ответ 4

Попробуйте этот код

UPDATE table SET credit = credit + 7 WHERE id='1' 

Ответ 5

Просто попробуйте это...

UPDATE table SET credit = credit + 7 WHERE id = 1

Ответ 6

well '+' - это оператор, поэтому вам нужно предоставить требуемый параметр. Оператор "+" является двоичным оператором, поэтому нам нужно предоставить ему два параметра с синтаксисом

 value1+value2

хотя он может принимать параметры многих типов данных написав "+7", вы отправляете только строковое значение "+7", заменяя предыдущее значение

поэтому лучше использовать

UPDATE table SET credit = '+7' WHERE id='1'

не путать оператор "+" с другими операторами инкремента

Ответ 7

Я хотел добавить к этому пример с расширением "ON DUPLICATE KEY UPDATE" (основанный на ответе @hims056). Я нашел этот ответ, но мне нужен "ON DUP...", поэтому я решил, что он может также опубликовать его здесь.

INSERT INTO table1 
(`id`, `credit`)
VALUES (1, 4)
ON DUPLICATE KEY UPDATE
`credit` = `credit` + 7;

Смотрите здесь скрипт SQL