我試圖更新使用IN操作符的表兩列關於運營商的困惑
mysql_query("UPDATE table SET value = value + 1 WHERE column IN ('row1' , 'row2')");
,但我注意到,在ROW1 & 2行的值不正確更新,因爲我原以爲。我試着在localhost中使用相同的代碼,但它在測試服務器上工作,每小時約有15-20次點擊它不起作用。我甚至阻止了測試服務器的總流量,並且如果服務器滯後但是沒有幫助,則等待超過12小時。
我改變了我的代碼
mysql_query("UPDATE table SET value = value + 1 WHERE column = 'row1'");
mysql_query("UPDATE table SET value = value + 1 WHERE column = 'row2'");
現在我開始甚至略有增加流量,每小時約25-30次點擊的實時值。
我是否在代碼中犯了一些錯誤,從here獲得幫助,或者IN運算符是否有任何限制或者它是測試服務器的錯誤?
編輯:我正在使用免費主機。
'row1'和'row2'是您的值,您要更新? –
你能分享你的觀察嗎?由於您正在增加列值,您是否使用MySQL內部事務或代碼中的事務範圍進行互斥?當你說,它在localhost中工作,你是指向相同的MySQL服務器還是不同的? –
@chiragsatapara不,'row1'和'row2'是列中的兩個參數,在'Animals'列中的兩個單獨的行中說'Cat'和'Dog',並讓值爲'count'。 喜歡的東西, _mysql_query( 「UPDATE SET表計數=計數+ 1 WHERE IN( '貓', '狗')列」); _ – NewBee