ホームページ >データベース >mysql チュートリアル >MySQL にミリ秒精度のタイムスタンプを保存するにはどうすればよいですか?
MySQL でミリ秒精度のタイムスタンプを保存する方法
MySQL では、高い時間分解能を必要とするアプリケーションにとって、正確なタイムスタンプの精度を確保することが重要です。タイムスタンプのミリ秒精度を実現するには、次の手順を検討してください。
小数秒時間データ型を使用して列を宣言する
小数秒時間データ型を使用して列を宣言するには、次の手順を実行してください。 MySQL バージョン 5.6.4 以降を使用しています。 NOW(3) を使用してバージョンを確認し、エラーが表示された場合は、サポートされているバージョンにアップグレードします。
適切な時間データ型を選択してください
ミリ秒の解像度の場合は、 DATETIME(3) を使用します。マイクロ秒の解像度の場合は、TIMESTAMP(6) を使用します。
宣言の例
CREATE TABLE IF NOT EXISTS Probability` (<br>id int(11) NOT NULL AUTO_INCREMENT、<br>segment_id int(11) NOT NULL、<br>確率浮動小数点 NOT NULL、<br>measured_at DATETIME(3) NOT NULL、<br>provider_id int(11) NOT NULL、<br>主キー (id)<br>) ;<br>`
ミリ秒を DATETIME(3) に変換
Unix エポックからのミリ秒数を DATETIME(3) に変換するには) 値の場合は、次を使用します式:
`
FROM_UNIXTIME(ms * 0.001)<br>`
1 秒未満の時間精度を実現するためにアップグレードを検討してください
古い MySQL バージョンを使用していて 1 秒未満が必要な場合時間精度が向上するため、アップグレードをお勧めします。回避策を使用すると、複雑さが生じる可能性があります。ただし、アップグレードが不可能な場合は、変換式
`
FROM_UNIXTIME(col * 0.001)<br>を使用して、タイムスタンプを BIGINT または DOUBLE 列に数値として保存することを検討してください。 `
これらのガイドラインに従うことで、効果的に保存および取得できます。 MySQL ではミリ秒精度のタイムスタンプを使用し、アプリケーションの時間精度を確保します。
以上がMySQL にミリ秒精度のタイムスタンプを保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。