簡體   English   中英

MySql遞增字段的值為0(零)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM