0

マッチの推測用のMySQLテーブルがあります。ユーザーが推測すると、テーブルはその推測の現在のタイムスタンプを取得します。試合が終了すると、テーブルの試合結果フィールドが更新されます。私の問題は、テーブルが結果を更新すると、タイムスタンプも更新され、MySQL または PHP を使用してタイムスタンプへの変更を停止するにはどうすればよいかということです。結果フィールドを変更したいだけで、クエリにはタイムスタンプが含まれていませんが、更新されています。私のテーブルには以下が含まれています:

match_id, timestamp, result, guess

それが私の質問です:

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

5 に答える 5

0

まず、列をタイムスタンプから日時に変更し、クエリを使用して毎回手動で日付を挿入/更新することをお勧めします。coumn を datetime として定義すると、特定のタイムゾーンのみの時間を指定する際の制御が強化されます

タイムスタンプを引き続き使用したい場合は、ドキュメントを読んでください

于 2013-11-02T07:34:31.027 に答える
0

私があなたを理解しているかどうかはわかりませんが、タイムスタンプのmysqlテーブルオプションを変更してnullまたはなしにする必要があると思います。current_timestamp を行わない

于 2013-11-02T07:07:55.670 に答える
0

解決策は見つかりましたが、表を少し変更することを検討してください。アクションが発生したときに記録するタイムスタンプ フィールドがありますが、レコードがいつ作成されたかを知りたい場合は、次の 2 つのフィールドが必要です。

created_at: TIMESTAMP DEFAULT CURRENT_TIMESTAMP

updated_at: TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

または、単にすべての推測をログに記録しないのはなぜですか

于 2013-11-02T08:48:07.863 に答える