2011-10-05 20 views
11

Benim tablo ben php kullanarak bu sütunu güncellemek istediğinizde, ben, boolean (0 false belirten 1 doğrudur gösterir) olarak veri türünü ayarlayın ve varsayılan olarak 0.Mysql'deki boolean değerlerini nasıl güncelleyebilirim?

olduğunu Ama bir isSuccessful sütunu vardır

UPDATE .......... SET isSuccessful = 1 WHERE ......... 

çalışmıyor.

isSuccessful'u 1, true, yes olarak ayarlamayı denedim, ancak bunların hiçbiri çalışmaz.

isSuccessful'un değerlerini nasıl değiştirebilirim?

+4

Açıkladığınız şey işe yaramalı. Yanlış bir şey yapmalısın. Lütfen tüm sorguyu gönderin. – Hammerite

+4

"Çalışmıyor" u tanımlayın. Hataları mı alıyorsun? Değeri yönetici arayüzünde manuel olarak ayarlayabilir misiniz? "WHERE" ifadenizin bir şeyle eşleştiğinden emin misiniz? – deceze

+0

Ne tür hatalar alıyorsunuz? SET isSuccessful = 1' Bu benim için çalışıyor çünkü ... hiç. – Coyote

cevap

16

Basit bir güncelleştirme sorgusu yeterli olmalıdır. Boolean alanları, doğru hatırlamıyorsa, sadece minik (1) alanlardır ve 1 ve 0 için takma adları sırasıyla doğru ve yanlış olarak (dizeler olarak) kabul ederler. Aşağıdakiler iyi olmalıdır. Kesin bir versiyon yerine kesin sorgunuzu gönderdiyseniz, birisi bir problemi fark edebilir mi?

UPDATE `table` SET `isSuccessful` = 1 WHERE `column` = 'criteria' 
+0

http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html adresinden: 'MySQL 5.0.3'ten itibaren, bit alanı değerlerini depolamak için bir BIT veri türü kullanılabilir. (5.0.3'ten önce, MySQL, BIT'i TINYINT olarak yorumlar (1).) MySQL 5.0.3'te, BIT yalnızca MyISAM için desteklenir. MySQL 5.0.5 BIT desteğini MEMORY, InnoDB, BDB ve NDBCLUSTER'a genişletir. ' –

+1

Ayrıca şunları kullanabilirsiniz: SET isSuccessful = b'1'' –

+1

@ypercube Bu, OP'nin veri tipini BIT olarak ayarladığı varsayılır. Ancak, BOOLEAN veri tipinin TINYINT alanı olduğunu ima ettiği ima edildi. BOOL, BOOLEAN Bu türler TINYINT (1) kelimesinin eş anlamlılarıdır. Sıfır değeri yanlış kabul edilir. Sıfır olmayan değerler doğru olarak kabul edilir. Http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html adresinden "set isSuccessful = b'1 '" bu işe yaramaz mı? –

0

Eğer linux altında PHP + MySQL kullanarak eğer "~" klavyede "1" tuşu sol boyutuna, yani bunu yapmalıyım aynı anahtarı olan bu "`" karakteri koymak Emin olun .

+0

'isteğe bağlıdır .. – Qix

+0

herkesin ABD düzeni yok – beppe9000

İlgili konular