Mysql
MySQL 中“microtime”列的預設值
我的興趣是用 6 的 FSP 儲存時間。正如我所讀到的,這不能用
TIMESTAMP
orDATETIME
數據類型來實現。所以,我有一個double
欄位來儲存microtime
函式的輸出。無論如何我可以為這樣的欄位設置(甚至編寫一些程式碼來創建)預設值嗎?
我想使用類似的東西
NOW(6)
並得到1442059062.065123
例如。
您可以使用
UNIX_TIMESTAMP
如下格式對其進行格式化:mysql> SELECT UNIX_TIMESTAMP(NOW(6)); +------------------------+ | UNIX_TIMESTAMP(NOW(6)) | +------------------------+ | 1442068528.543100 | +------------------------+ 1 row in set (0,00 sec) mysql>
**您可以在此處**找到任何其他日期和時間功能。你可以添加一個,如果你想要你的microtime
trigger
的預設值,使用並替換你的.decimal(16, 6)
BEFORE INSERT``NEW.bigintvalue=UNIX_TIMESTAMP(NOW(6));
例子:
mysql> CREATE TABLE `test`.`test1` ( -> `id` INT NOT NULL AUTO_INCREMENT, -> `time` DECIMAL(16, 6) NULL, -> PRIMARY KEY (`id`)); Query OK, 0 rows affected (0.01 sec) mysql> mysql> DELIMITER // mysql> CREATE DEFINER=`root`@`localhost` TRIGGER `test`.`test1_BEFORE_INSERT` BEFORE INSERT ON `test1` FOR EACH ROW -> BEGIN -> SET NEW.time=UNIX_TIMESTAMP(NOW(6)); -> END -> // Query OK, 0 rows affected (0.00 sec) mysql> DELIMITER ; mysql> mysql> # Adding 1 into id field mysql> INSERT INTO `test`.`test1` (`id`) VALUES ('1'); Query OK, 1 row affected (0.00 sec) mysql> select * from test.test1; +----+-------------------+ | id | time | +----+-------------------+ | 1 | 1442069359.675330 | +----+-------------------+ 1 row in set (0.00 sec) mysql>