Ответ 1
UPDATE table SET credit = credit + 7 WHERE id = 1
Как обновить поле, чтобы добавить значение к существующему значению?
Например, у меня есть
Название таблицы: table
id credit
1 4
2 5
3 3
Есть ли способ просто повысить ценность кредита?
как
UPDATE table SET credit = '+7' WHERE id='1'
Я хочу добавить 7 к 4, чтобы кредит = 11, где id = '1'
Как это сделать?
UPDATE table SET credit = credit + 7 WHERE id = 1
Это просто UPDATE
. Попробуйте следующее.
UPDATE tableName
SET Credit = Credit + 7
WHERE ID = 1
обратите внимание, что ID = 1
и ID = '1'
совпадают с сервером, который автоматически анализирует его.
Просто используйте credit = credit + 7
вместо credit = '+7'
в выражении UPDATE
UPDATE tablename SET credit = credit + 7 WHERE id = 1
Попробуйте этот код
UPDATE table SET credit = credit + 7 WHERE id='1'
Просто попробуйте это...
UPDATE table SET credit = credit + 7 WHERE id = 1
well '+' - это оператор, поэтому вам нужно предоставить требуемый параметр. Оператор "+" является двоичным оператором, поэтому нам нужно предоставить ему два параметра с синтаксисом
value1+value2
хотя он может принимать параметры многих типов данных написав "+7", вы отправляете только строковое значение "+7", заменяя предыдущее значение
поэтому лучше использовать
UPDATE table SET credit = '+7' WHERE id='1'
не путать оператор "+" с другими операторами инкремента
Я хотел добавить к этому пример с расширением "ON DUPLICATE KEY UPDATE" (основанный на ответе @hims056). Я нашел этот ответ, но мне нужен "ON DUP...", поэтому я решил, что он может также опубликовать его здесь.
INSERT INTO table1
(`id`, `credit`)
VALUES (1, 4)
ON DUPLICATE KEY UPDATE
`credit` = `credit` + 7;