我在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的值帮助插入一个新行,其预留时间已计算。
答案 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 )
)