【问题标题】:How do I insert into a datetime column minus the seconds?如何插入日期时间列减去秒数?
【发布时间】:2020-03-29 09:22:46
【问题描述】:

所以我正在开发一个 c# 项目,该项目在具有日期时间列的表中创建行,然后提取该列的自动生成的 ID。我提取 ID 的方法是通过下面的代码,问题是执行第一个查询所需的长度,然后第二个查询超过 1 秒,所以我最终得到空行。那么如何插入或选择减去秒数的行呢?

INSERT INTO transactionlog(transactionDate) VALUES(NOW())

然后立即这样做

SELECT transactionID,transactionDate FROM transactionlog WHERE transactionDate=NOW();

【问题讨论】:

    标签: c# mysql sql sql-insert last-insert-id


    【解决方案1】:

    NOW() 为您提供它包含的语句的日期/时间开始。虽然可以保证同一查询中的多个调用返回相同的值,但这并不是真正的accross 查询。

    要获取插入期间生成的自动递增值,您可以改用LAST_INSERT_ID()

    INSERT INTO transactionlog(transactionDate) VALUES(NOW());
    SELECT LAST_INSERT_ID();
    

    【讨论】:

      【解决方案2】:

      你可以利用mysql的DATE_FORMAT()函数来控制格式化。

      SELECT transactionID,transactionDate FROM transactionlog WHERE transactionDate=DATE_FORMAT(NOW(), '%c/%e/%Y %H:%i');
      

      您可以在这里查看:https://www.w3resource.com/mysql/date-and-time-functions/mysql-date_format-function.php

      如果你想使用格式说明符

      【讨论】:

        猜你喜欢
        • 2014-07-24
        • 1970-01-01
        • 1970-01-01
        • 2023-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多