在mysql中插入两次之间的持续时间

时间:2014-01-17 10:48:37

标签: mysql sql database

我在mysql数据库列TIME1和TIME2中分别插入了两个时间值,同时我也希望计算两次之间的持续时间并将其插入到DURATION命名列中。我尝试了一些子查询但是数据库编码很弱我无法做到这一点。而且查询是在java类中编写的,而不是在sql命令行中。值应该在同一个数据库中输入..

Insert into meeting_hall_booking_master(booking_duration)
select TIMEDIFF(booking_to_time,booking_from_time) from meeting_hall_booking_master;

此查询使用前一行的TIME1和TIME2的值帮助插入一个新行,其预留时间已计算。

2 个答案:

答案 0 :(得分:1)

使用更新语句,它将解决您的问题

update meeting_hall_booking_master 
set booking_duration = TIMEDIFF(booking_to_time,booking_from_time);

答案 1 :(得分:0)

现在看来你真的需要一个update语句。

update meeting_hall_booking_master
 set booking_duration = TIMEDIFF( booking_to_time, booking_from_time )

您可以在insert语句中设置持续时间值,而不是在以后的阶段进行更新。

insert into 
 meeting_hall_booking_master( booking_to_time, booking_from_time, booking_duration )
 values ( @booking_to_time,
          @booking_from_time,
          timediff( @booking_to_time, @booking_from_time )
        )