2011-02-06 17 views
17

Olası Çoğalt boolean değerini değiştirmek için:
Is there a way in MySQL to reverse a boolean field with one query?Sorgu MySQL

güncellemek için (boolean) değer normalde biz sahte ya da gerçek şekilde ayarlanmış olmadığını kontrol edin ve güncelliyorduk, Boolean değerini değiştirecek bir sorgu var mı diye merak ediyordum. 42 kaydının id olan

+0

Küçük bir alandan mı bahsediyorsunuz? –

+0

Gerçekten sinirlenmişim, kimin beni üzüyor, eğer çözümlerim gerçekten sinir bozucuysa o zaman neden bir açıklama yapmıyorsun –

+0

@middaparka evet –

cevap

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

, field boolean alanın adıdır ve mytbl tablo adıdır.

+2

+1 zerky için! Ayrıca bunu tercih ederseniz 'NOT'u da kullanabilirsiniz :) – alex

+7

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

8

Boole işlecini bunun için kullanabilirsiniz Burada silme, boole alanınızdır.

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

Teşekkürler ama ilk kabul edilir +1 –

+0

@experimentX Hoşgeldiniz – XMen

+0

Bu çözüm ayrıca boolean alanları için de geçerli değildir Değerler 0 veya 1 olarak ayarlandığında int ve tinyint gibi. – MikeyBunny