2013-11-02 264 views
0

我有一個猜測匹配的MySQL表,當任何用戶做出猜測時,該表採用該猜測的當前時間戳。 當比賽結束時,表格將更新匹配結果字段。 我的問題是,當表更新結果時,它會更新時間戳,我怎樣才能停止使用MySQL或PHP的時間戳更改?我只是想更改結果字段,我的查詢不包括時間戳,但即使它正在更新。 我的表包含:時間戳更新問題

match_id, timestamp, result, guess 

這是我的查詢:

UPDATE guesses SET result = $kg_yok where match_id= $match_id AND guess = 11 

回答

0

我不知道如果我理解你,但我認爲你應該改變你的MySQL表選項時間戳使它空或無。不做CURRENT_TIMESTAMP

0
隨時更新的存儲時間和日期作爲DATETIME領域

首先,我寧願建議您將時間戳列更改爲日期時間,並且每次手動使用查詢插入/更新日期。定義coumn爲DATETIME會給你更多的控制在specifing特別是時區的時間只有

不過,如果你想與時間戳來繼續你的閱讀文檔

0

謝謝傢伙,但我想我找出解決方案。 更改我的查詢:

UPDATE guesses SET result = $kg_yok, timestamp=timestamp 
where match_id= $match_id AND guess = 11 

這將需要提交的時間戳的相同值,並將其重新分配給新的更新,通過我能保持價值再次重新分配發生變化。

0

儘管您找到了解決方案,但您可能需要考慮稍微修改表格。你有一個時間戳字段發生操作時記錄,但如果要在創建記錄就知道了,你需要兩個字段:

created_at: TIMESTAMP DEFAULT CURRENT_TIMESTAMP 

updated_at: TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 

或者,爲什麼不直接記錄所有的猜測