MySQL がミリ秒 / マイクロ秒の精度をサポートしない理由とその回避方法
MySQL の TIMESTAMP フィールドとサポート関数は秒に制限されています
この制限に対処するには、次の回避策を検討してください:
BIGINT フィールドの使用:
Doctrine は BIGINT フィールドにミリ秒を自動的に入力しない場合がありますが、microtime() などの PHP 関数を使用してタイムスタンプを手動で計算して挿入できます。ただし、このアプローチは SQL 日付操作関数と互換性がない可能性があります。
UDF 拡張機能のコンパイル:
ただし、UDF 拡張機能のコンパイルは、次の理由により理想的なソリューションではない可能性があります。
MySQL 5.6.4 の改良点
幸いなことに、MySQL バージョン 5.6.4 では、最大 2 秒までの小数秒のサポートが導入されています。 TIME、DATETIME、TIMESTAMP 値のマイクロ秒精度。この機能強化は、元の問題で言及された制限に効果的に対処します。
MySQL 5.6.4 へのアップグレードが不可能な場合は、前述の回避策で問題を軽減できます。ただし、改善された機能を活用するために、可能な限り MySQL の最新バージョンに移行することをお勧めします。
以上がMySQL にミリ秒/マイクロ秒の精度がないのはなぜですか?それを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。