2014-09-06 53 views
-2

這裏我的表什麼樣子:如何將數據插入到具有自動增加now()函數的MySQL中?

CREATE TABLE my_table 
(
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    user_id VARCHAR(5), 
    time_value DATETIME 
) ENGINE = MyISAM; 

INSERT INTO my_table(user_id,time_value) 
VALUES 
    (100, NOW()), 
    (200, NOW()), 
    (300, NOW()), 
    (400, NOW()), 
    (500, NOW()); 

我的輸出:

id user_id time_value 
1 100  2014-09-06 23:58:58  
2 200  2014-09-06 23:58:58  
3 300  2014-09-06 23:58:58  
4 400  2014-09-06 23:58:58  
5 500  2014-09-06 23:58:58 


我應該這個答案

要求輸出:

id user_id time_value 
1 100  2014-09-06 23:58:58  
2 200  2014-09-06 23:59:58  
3 300  2014-09-07 00:00:58  
4 400  2014-09-07 00:01:58  
5 500  2014-09-07 00:02:58 

在MySQL DATETIME函數中可以有可能嗎?如果可能的話, 基於time_value插入該表中的行值?

+0

'NOW()+ INTERVAL 1 MINUTE'和另一分鐘到每行 – Prix 2014-09-06 12:15:11

+0

不工作....當前時間到了。 @prix ...間隔1分鐘不工作的老闆。 – kumaravelmathivanan 2014-09-06 12:18:56

+0

[Works for me,see here ...](http://sqlfiddle.com/#!2/0b5f6e/1/0) – Prix 2014-09-06 12:22:26

回答

0

documentation for the NOW() function說,部分

NOW()返回一個恆定的時間點指出了 語句開始執行的時間。 (在存儲的函數或觸發器中, NOW()返回函數或觸發語句 開始執行的時間。)這與SYSDATE()的行爲不同,返回執行它的確切時間。

這意味着如果在單個查詢中多次使用函數NOW(),它們都會返回完全相同的值。如果您想用單個查詢插入多個不同的時間戳,您將不得不明確指定這些差異。 @Prix爲你提供了一個很好的方法來做到這一點。

相關問題