我已经在我的表中决定我不再想记录开始和结束时间,而是只记录开始时间和持续时间(以分钟为单位)。如何更新我的表,以便我的新列根据现有数据插入值?我在下面的尝试产生了错误:
You can't specify target table 'lesson' for update in FROM clause
UPDATE lesson
SET duration =
(SELECT TIME_TO_SEC(TIMEDIFF(finish_time,start_time))/60
FROM lesson AS l
WHERE l.id = lesson.id)
最佳答案
您不必这样做,因为您使用同一行中其他列的值更新列,只需:
UPDATE lesson
SET duration = TIME_TO_SEC(TIMEDIFF(finish_time,start_time))/60
关于mysql - 相关子查询更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1582052/