将mysql查询结果保存到同一个数据库表中

时间:2018-01-16 02:58:34

标签: mysql database phpmyadmin

尝试计算当前时间与用户设定时间之间的时间差,以便在几分钟内得到结果并且它可以正常工作,但有没有办法将相同的结果保存到最新一行的表格列中?

SELECT settime, TIMESTAMPDIFF(MINUTE,CURRENT_TIMESTAMP(), settime)AS timeleft 
FROM feedtime

enter image description here 在左侧图像中,它正确显示结果“timeleft”,但也显示错误Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.我的id列已设置为primary,unique和auto_increment

有没有办法可以将结果更新为右侧图像显示列为timeleft?

1 个答案:

答案 0 :(得分:1)

是的,使用UPDATE声明:

UPDATE feedtime
SET timeleft = TIMESTAMPDIFF(MINUTE, CURRENT_TIMESTAMP(), settime);

请注意,MySQL可能会坚持要添加使用WHERE列条件的id子句,例如

UPDATE feedtime
SET timeleft = TIMESTAMPDIFF(MINUTE, CURRENT_TIMESTAMP(), settime)
WHERE id = 1;

即使MySQL不需要这样做,您仍可能需要添加WHERE子句来限制更新范围。