2012-06-27 35 views
5

i có các trường bảng thanh toáncập nhật tích cực cho giá trị âm trong mysql

enter image description here

cập nhật lý trí và số lượng & tổng lĩnh vực đang thay đổi tiêu cực truy vấn

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

cập nhật duy nhất là nó có thể?

Trả lời

11

Nếu tôi hiểu chính xác bạn, bạn cũng muốn đặt cột số lượng thành giá trị dương cùng với tuyên bố ở trên.

Bạn có thể sử dụng giống như

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

nếu chúng ta số tiền = số lượng * -1 thì giá trị tích cực sẽ trở thành tiêu cực đến –

3

này Sử dụng ABS(amount) nếu bạn muốn luôn nhận được số nguyên dương.

SELECT ABS(5); 

chí đầu ra 5

SELECT ABS(-5); 

cũng sẽ ra 5

+0

Tôi thích ý tưởng này tốt hơn ... những gì là một giá trị đã tiêu cực vì một lý do nào đó? Sau đó, câu trả lời được chấp nhận sẽ chuyển nó trở lại tích cực, đó không phải là những gì bạn muốn. –

Các vấn đề liên quan