我正在尝试计算完成后完成工单所需的总时间。 我的数据库中有一个tickets
表,记录每个票证的信息,主键是ticket_id
。
当我的表单提交时,我的 php 代码中的 mysql 查询将该票证 ID 在数据库中的completion_time设置为"now((:
UPDATE tickets
SET completion_time = NOW()
WHERE ticket_id = :ticket_id;
我要执行的下一个查询是计算total_time并将其存储在tickets
表中相对于ticket_id
的现有列中。creation_time
和completion_time
是TIMESTAMP
数据类型,total_time
是INT
数据类型,因为我想以分钟为单位返回整数值。
我试过这个:
UPDATE tickets
SET total_time = TIMESTAMPDIFF(minute,@completion_time,@creation_time)
WHERE ticket_id = :ticket_id;
我不确定我是否必须在单独的查询中执行这两个代码片段;截至目前,它们属于同一个变量$sql
并在 php 代码中的同一查询中执行。
您可以在插入完成时间的同一查询中插入时间戳差异:
UPDATE tickets SET completion_time = NOW(), total_time = TIMESTAMPDIFF(NOW(), creation_time) WHERE ticket_id = :ticket_id