2013-03-09 106 views
0

我有一個在MySQL中的更新語句的問題。這裏是我的發言:通過PHP執行在mysql中的更新語句不工作,而它必須工作

update `momtos_kullanici` set `firma_quantity`='1', `auditor_quantity`='1', `print_word`=0, `print_excel`=0 WHERE `MK_ID`='2690' 

此代碼,它是不會改變的值。我將它複製並複製到phpmyadmin面板,並仍然返回'0 rows affected'消息,但是如果我重新鍵入print_wordprint_excel列中的值0和1,則phpmyadmin中的值將起作用。

Column   Type  null default 

auditor_quantity int(11) No 1 

firma_quantity int(11) No 1 

print_word  bit(1) No 0 

print_excel  bit(1) No 0 

我試圖把數字放在引號中,甚至是真實和錯誤的詞語,同樣的事情。 我面臨與varchar字段相同的問題之前。在那個時候,我只是說'噢,好吧......',但這個真的很瘋狂。

任何人都可以幫助我嗎?有什麼我失蹤了嗎?

+0

試着鍵入列名不嚴重的字符(')附上屬性名。我知道這不應該是一個區別,但我只是做了測試和更新沒有工作,除非我沒有引用表名。 – 2013-03-09 11:23:50

+1

如果任何列沒有通過行匹配更新,Mysql會返回0。在上面的情況下,您正在更新的所有值和DB中的激發值都是相同的。 – shola 2013-03-09 11:30:39

+0

謝謝你們,我找到了解決方法。將該位轉換爲int(1),然後我學到的第二件事是,如果存儲的值與新值相同,更新將不會更改值。 – 2013-03-09 12:09:00

回答

0
update momtos_kullanici set firma_quantity=1, auditor_quantity=1, print_word=0, print_excel=0 WHERE MK_ID=2690