1

我正在为服务器更新登录和注销日志(我自己没有编写代码,而且我是 SQL 新手),并且存在一个问题,即超过午夜的班次不会增加天(它会说有人在 6 月 30 日晚上 11 点签到,然后在 6 月 30 日凌晨 3 点签出)。由于所有班次都少于 4 小时,我想如果签出时间早于签入时间,我可以将其设置为增加日期。

我不知道如何发送多个语句,所以我想我可以执行以下操作:

INSERT INTO Reports (MemberId,StartTime,EndTime) VALUES (6000,'2013-10-23 23:05:00',(SELECT DATE_ADD('2013-10-23 00:08:00',INTERVAL 1 DAY));

(我主要在 C++ 中执行此操作,因此日期/ID 编号的值在 C++ 程序中确定,然后打印为 ssUpdate 语句以提交到数据库。以上是我的语句类型的一个示例现在让 C++ 打印出来。不包含 DATE_ADD 函数的语句可以正常工作,所以我知道这不是问题。)

当我尝试这样做时,我得到一个“语法错误”声明。如果有任何可能的方法来避免它,我真的不希望重组 C 代码或提交多个 sql 语句,因为我不完全知道原始程序员如何集成 SQL 和 C++ 以及他如何向数据库提交语句。

很抱歉,如果这不是足够的信息,我以前从未在这里问过问题......

谢谢你的帮助!

4

1 回答 1

0

你可以试试

INSERT INTO reports
    (memberId, starttime, endtime )
SELECT 
    6000, 
    '2013-10-23 23:05:00', 
    DATE_ADD('2013-10-23 00:08:00', INTERVAL 1 DAY) 
于 2013-05-30T20:26:25.160 回答