2011-07-30 24 views
6

データベースに現在の日付を挿入するにはどうすればよいですか?私はそれを置くために日付と呼ばれる列を持っています。データベースに現在の日付を挿入しますか?

$sql="INSERT INTO `Lines` (Text, PID, Position) 
VALUES 
('$text','$pid','$position')"; 

がPHPMyAdminの中でそれを自動化する方法はありますかそれは、このようにそれを行うには同じです: 私はこれを挿入すると同時に、それを挿入したいですか?おかげでテーブル定義がCURRENT_TIMESTAMPからtimestamp列のデフォルトセットを持ってい

答えて

7

場合は、実際にはまったく何もする必要はありません。それ以外の場合は、NOW()CURRENT_TIMESTAMPが動作する、のように:

INSERT INTO t1 (timestamp_column) VALUES (NOW()); 

ありCURRENT_TIMESTAMPNOW()の違いはあるが、それはあなたには関係しおそらく小さすぎるのです。

新しい列を作成するときに、オプションとしてCURRENT_TIMESTAMPを持っているようです。それ以外の場合は

4
INSERT INTO `Lines` (`date`) VALUES (NOW()); 
0

...あなただけtime()を使用し、それはあなたが他の変数を挿入するのと同じ方法値だ挿入、またはあなたの条件に応じて、MySQLのUNIX_TIMESTAMP()

1

を使用し、PHPで一般的であるように、整数を使用している場合これを行うこともできます。

$date=date('d.m.y h:i:s'); 

そして、$ dateを挿入します。私はあなたが唯一の日付&の時間を表示したいと思うことを意味します。それ以外の場合は、時間()もお勧めします。

0

タイムスタンプを保存する最も良い方法は、GMT/UTCのUNIXタイムスタンプ整数です。これにより、あなた、あなたのサーバ、またはユーザがどこにいても正確な時刻を常に知ることができます。ボーナスは、ユーザーが自分のタイムゾーンと表示時間を意味のあるものに設定できるようにすることです。

$sql = "INSERT INTO `Lines` (`timestamp`) VALUES ('" . time() . "')"; 

または

$sql = "INSERT INTO `Lines` (`timestamp`) VALUES (UNIX_TIMESTAMP())"; 

あなたは(NOW使用することを選択した場合は注意してください)、またはCURRENT_TIMESTAMPこれらは、データベース・サーバーとそれの設定によって管理されているよう。サイトがホストされているサーバーが1つのタイムゾーンにあり、別のタイムゾーンで別のホストに移動した場合、タイムスタンプはすべて正しくありません。 Unixの整数を使用すると、アプリケーションが時間を扱う場所であれば、少しでも余計な労力がかかりますが、最も正確で柔軟性があります。

関連する問題