0

良い答えを見つけることができなかった簡単な質問。PHP と mySQL を使い始めたとき、日付/時刻を Unix タイムスタンプとして保存する方法を学びました。mySQL データ型は BIGINT で、PHP の日付関数はこれをうまく処理しました。ドキュメントなどを調べてみると、タイムスタンプ データ型がより顕著になっているようです。日付を保存するBIGINTの方法は時代遅れになっていますか? 現在、これらの方法のどちらを使用するのが良いかについての一般的な考え方はありますか?

タイムスタンプ データ型には、デフォルト値または更新時に「現在のタイムスタンプ」があることがわかっています。

考え?

前もって感謝します

4

2 に答える 2

1

私が与える主な議論は、このデータ型が仕事のために設計されているということです。

利点の 1 つtimestampは、数値が実際には日付であることをソフトウェアが理解し、人間が判読できる日付を表示することです。intこれは、日付をsとして格納する場合に常に問題になります。

timestampただし、1970 年 1 月 1 日より前の日付では機能しないことに注意してください。ただし、これはintアプローチと同じです。

于 2013-06-27T00:33:11.637 に答える
1

アンドリュー、日付を永続化するために、いかなる種類の INT データ型も使用しないでください。MySQL は、TIMESTAMP (前述のとおり)、DATETIME、DATE、TIME、YEAR などのさまざまなオプションを提供します。また、ネイティブの MySQL 時間関数をより簡単に使用できます。したがって、他のデータ型を実際に使用する理由はありません。

[編集]

MYSQL のドキュメントは、そのデータ型について非常に明確です。

The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in ‘YYYY-MM-DD HH:MM:SS’ format. The supported range is ’1000-01-01 00:00:00′ to ’9999-12-31 23:59:59′.

The TIMESTAMP data type is used for values that contain both date and time parts. TIMESTAMP has a range of ’1970-01-01 00:00:01′ UTC to ’2038-01-19 03:14:07′ UTC.
于 2013-06-27T00:34:22.800 に答える