这里的表格如下:
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 :(得分:0)
documentation for the NOW()
function部分地说
NOW()
返回一个常量时间,表示时间 声明开始执行。 (在存储的函数或触发器中,NOW()
返回函数或触发语句的时间 开始执行。)这与SYSDATE()
的行为不同 返回它执行的确切时间。
这意味着如果调用在单个查询中多次使用NOW()
函数,它们都会返回完全相同的值。如果要使用单个查询插入多个不同的时间戳,则必须明确指定这些差异。 @Prix为您提供了一个很好的方法。