《Mysql實例MySQL存儲毫秒數據的方法》要點:
本文介紹了Mysql實例MySQL存儲毫秒數據的方法,希望對您有用。如果有疑問,可以聯系我們。
MYSQL實例有相當一部分剛接觸到 MySQL 的朋友都遇到這樣一個相同的問題,就是關于毫秒的存儲與顯示.由于MySQL數據類型中只提供了DATETIME, TIMESTAMP, TIME, DATE, YEAR這幾種時間類型,而且DATETIME 以及 TIMESTAMP 的最小單位是秒,沒有存儲毫秒級別的函數. 不過MySQL卻能識別時間中的毫秒部分.而且我們有多種方式可以獲得毫秒的部分,比如函數:microsecond 等.
MYSQL實例我這里舉一個簡單的例子,來存儲秒之前和之后的部分.
對于把時間字段作為主鍵的應用,我們可以建立以下的表來作相應的轉化:
MYSQL實例
mysql> create table mysql_microsecond ( log_time_prefix timestamp not null default 0, log_time_suffix mediumint not null default 0) engine innnodb;
Query OK, 0 rows affected, 2 warnings (0.00 sec)
MYSQL實例
mysql> alter table mysql_microsecond add primary key (log_time_prefix, log_time_suffix);
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
MYSQL實例
mysql> set @a = convert(concat(now(),'.222009'),datetime);
Query OK, 0 rows affected (0.00 sec)
MYSQL實例
mysql> insert into mysql_microsecond select date_format(@a,'%Y-%m-%d %H-%i-%s'),date_format(@a,'%f');
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
MYSQL實例
mysql> select * from mysql_microsecond;
+---------------------+-----------------+
| log_time_prefix | log_time_suffix |
+---------------------+-----------------+
| 2009-08-11 17:47:02 | 222009 |
+---------------------+-----------------+
1 row in set (0.00 sec)
MYSQL實例
或者是用VARCHAR來存儲所有的時間字段, 又或者是存儲一個HASH來保證性能!
辦法很多,就看你的應用怎么用合理了.
《Mysql實例MySQL存儲毫秒數據的方法》是否對您有啟發(fā),歡迎查看更多與《Mysql實例MySQL存儲毫秒數據的方法》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/7816.html