2012-06-27 17 views
5

mam pól tabeli płatnościzmiana dodatniej na ujemną wartość w mysql

enter image description here

aktualizacji powód i wysokość & całkowite pole to zmiana ujemna

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

aktualizacja jedno zapytanie jest to możliwe?

Odpowiedz

11

Jeśli dobrze Cię rozumiem, chcesz również ustawić kolumnę z kwotą na wartość dodatnią wraz z powyższym stwierdzeniem.

można użyć coś jak ten

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

jeśli nie ilość = ilość * -1 następnie wartości dodatnie staną do negatywnej –

3

użytkowania ABS(amount), jeśli chcesz, aby zawsze uzyskać dodatnia.

SELECT ABS(5); 

wyjście wola 5

SELECT ABS(-5); 

również wyjście 5

+0

Lubię ten pomysł ... co lepsze czy z jakiegoś powodu wartość była już ujemna? Następnie zaakceptowana odpowiedź przełączy ją z powrotem na pozytywną, co nie jest tym, czego potrzebujesz. –

Powiązane problemy