Как обновить поле, чтобы добавить значение к существующему значению?
Например, у меня есть
Название table
: 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;
См. SQL-скрипт здесь