[英]MySql incrementing field with value 0 (zero)
HY,
當我嘗試從類型為int(11)
的列int(11)
其值為0(零))增加一個字段時遇到問題。
這是查詢: UPDATE Cars SET Number = Number+1 WHERE CarID='$carID'
問題在於,如果Number的值為零,則增量的結果為2。對於其他任何值,增量都可以正常工作。
有任何想法嗎? 提前致謝。
以后的編輯:問題不在於mysql查詢。 我猜我有一個代碼錯誤。 我動態創建頁面(所有內容都通過index.php文件,並且我將require_once用於包含文件),並且僅當我第一次訪問頁面或刷新CTRL + F5
時才出現問題。 我在.htaccess
文件中也有一些重寫規則。
RewriteRule ^cars/([0-9]+)/([^\n]+)\.html index.php?page=cars&carID=$1&title=$2 [NC,B,L]
RewriteCond %{THE_REQUEST} /index\.php\?page=cars&carID=([0-9]+)&title=([^\n]+)\ HTTP/
RewriteRule ^index\.php$ http://www.cars.com/cars/%1/%2.html? [R=301,NC,L]
有什么想法嗎?
看來是非常常見的垃圾改寫問題。
大多數人都設置了重寫以使index.php充當404處理程序。
因此,如果有一些未命中的請求,它將被重定向到索引。 現在讓我們談談favicon.ico ...
要解決該問題,您必須極大地限制index.php活動。 它應該始終檢查正確的參數,否則發出404。
正如Reiner Gereck所說,您的查詢看起來很好,在某些情況下,您的代碼很有可能多次執行查詢。
您可以通過一些簡單的調試來檢查它:
每次執行此查詢時,都回顯某些內容,例如echo "I'm incrementing $carID"<br/>
。
然后執行運行此代碼所需的任何操作,並計算該代碼出現的次數。 如果出現的頻率超出您的預期,則說明存在錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.