2012-06-27 2 views
5

я есть платежные поля таблицыобновление положительного до отрицательного значения в MySQL

enter image description here

причина обновления и количество & общее поле являются изменение отрицательной

UPDATE payment 
SET reason = 'refund' 
WHERE uid =5 AND date = '2012-05-01' AND accid =2 

обновление одного запроса возможно ли это?

ответ

11

Если вы правильно поняли, вы также хотите установить значение столбца суммы в положительное значение вместе с приведенным выше утверждением.

Вы можете использовать что-то вроде этого

UPDATE payment 
SET reason = 'refund', amount = amount * -1, total = total * -1 
WHERE uid =5 AND date = '2012-05-01' AND accid =2 
+3

если мы не сумма = сумма * -1, то положительные значения станут отрицательному –

3

Используйте ABS(amount), если вы хотите, чтобы всегда получать положительное целое число.

SELECT ABS(5); 

будет выводить 5

SELECT ABS(-5); 

также выход 5

+0

Мне нравится эта идея лучше ... что по какой-то причине значение уже было отрицательным? Тогда принятый ответ переключит его на положительный, что не то, что вы хотите. –

Смежные вопросы