2011-02-06 35 views
17

thể trùng lặp:
Is there a way in MySQL to reverse a boolean field with one query?Query để chuyển giá trị boolean trong MySQL

Để cập nhật (boolean) giá trị bình thường, chúng tôi sẽ kiểm tra nếu nó đặt thành sai hoặc đúng, và cập nhật nó, Tôi đã tự hỏi nếu có truy vấn đó sẽ chuyển đổi giá trị boolean.

+0

Bạn đang nói về một trường nhỏ xíu? –

+0

Tôi thực sự cảm thấy khó chịu, những người đang downvoting tôi, nếu giải pháp của tôi thực sự gây phiền nhiễu thì tại sao bạn không đưa ra lời giải thích –

+0

@middaparka yes –

Trả lời

74
UPDATE mytbl 
    SET field = !field 
WHERE id = 42 

đâu 42id của hồ sơ, field là tên của lĩnh vực boolean và mytbl là tên bảng.

+2

+1 cho zerky! Bạn cũng có thể sử dụng 'NOT' nếu bạn thích điều đó :) – alex

+7

+1 cho 42 http://bit.ly/bhllCV :) – Shrinath

8

Bạn có thể sử dụng toán tử Boolean cho mục này Ở đây xóa là trường boolean của bạn.

update tab set `delete`=NOT `delete` 
+0

cảm ơn nhưng trước tiên được chấp nhận +1 –

+0

@experimentX Chào mừng – XMen

+0

Giải pháp này cũng hoạt động đối với các trường boolean chẳng hạn như int và tinyint nơi các giá trị được đặt thành 0 hoặc 1. – MikeyBunny

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