【问题标题】:How to multiple insert data to MySQL having auto incremented now() function?如何向具有自动递增 now() 函数的 MySQL 多次插入数据?
【发布时间】:2014-09-06 12:11:54
【问题描述】:

我的表格如下所示:

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 在此表中插入行值?

【问题讨论】:

  • NOW() + INTERVAL 1 MINUTE 每行再等一分钟
  • 不工作....当前时间到了。 @prix... 间隔 1 分钟不工作的老板。
  • 我应该动态...它会自动生成。基于 mysql 日期时间功能。
  • 我正在使用 php/mysql...所以我需要前端插入查询...@prix

标签: mysql sql datetime


【解决方案1】:

documentation for the NOW() function 部分表示,

NOW() 返回一个常数时间,表示 语句开始执行。 (在存储的函数或触发器中, NOW() 返回函数或触发语句的时间 开始执行。)这与 SYSDATE() 的行为不同,后者 返回它执行的确切时间。

这意味着如果调用在单个查询中多次使用NOW() 函数,它们都返回完全相同的值。如果您想在单个查询中插入多个 不同 时间戳,则必须明确指定这些差异。 @Prix 为您提供了一个很好的方法。

【讨论】:

    猜你喜欢
    • 2012-02-03
    • 2018-10-17
    • 1970-01-01
    • 1970-01-01
    • 2022-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多