2011-12-26 8 views
2

すべての空のlogout_timeフィールドを2011-12-26 14:48:36に更新します。mysqlテーブルのタイムスタンプフィールドを更新するには?

log_detailsテーブルにlogout_timeフィールド(タイムスタンプ)を更新するように、私は次のクエリを試してみました:

update log_details set logout_time='2011-12-26 14:48:36',tab_status='0' 
where logout_time ='' 

それは動作しません。それを修正するのを助けてください。

+0

テーブルスキーマは? – piotrekkr

+0

このコマンドを実行しようとすると、正確なエラーは何ですか?そしてあなたはそれを置くのですか?最後に(私はここに入力したクエリではなく、常に物事を壊すので尋ねる) – Drahkar

+0

log_detailsはテーブルの名前で、logout_timeはユーザのログアウト時刻を格納するテーブルのタイムスタンプフィールドです。いくつかの間違いのために値が私が期待どおりに追加されなかったので、タイムスタンプの値をヌルのどこにでも変更する必要がありました。2011-12-26 14:48:36 –

答えて

1
update log_details set logout_time='2011-12-26 14:48:36',tab_status='0' 
where logout_time IS NULL 
1

「空の」フィールドが「0000-00-00 00:00:00」であることを確認してください。可能性が高いのはタイムスタンプの場合で、そうでない場合は空の "空"ではありません。最良の方法は、更新したいフィールドに正確に何があるかを確認することです。

//フィールドが実際にNULLであれば、それは

update log_details set logout_time='2011-12-26 14:48:36',tab_status='0' 
where logout_time IS NULL 
+0

タイムスタンプフィールドは実際には空です。私はqueyを使って手動値でそのフィールドを埋める必要があります。どうすればいいの?私はそれを行うことができる方法はありますか? –

+0

'IS NULL'で試してみました私の答えを編集しました – Kokers

1

でなければなりません

を更新し、このようにUNIX_TIMESTAMP機能を試してみてください:

update log_details set logout_time=UNIX_TIMESTAMP('2011-12-26 14:48:36'),tab_status='0' 
where logout_time ='' 
1
update log_details set logout_time='2011-12-26 14:48:36',tab_status='0' 

where logout_time ='0000-00-00 00:00:00' 

このクエリが役立つはずですので、タイムスタンプ列が空であることは、「0000-00-00 00:00:00」

関連する問題