0

開始時刻と終了時刻を記録するのではなく、開始時刻と期間 (分単位) だけを表に記録することにしました。既存のデータに基づいて新しい列に値が挿入されるようにテーブルを更新するにはどうすればよいですか? 以下の私の試みはエラーを引き起こします:

FROM 句での更新にターゲット テーブル 'lesson' を指定することはできません

UPDATE lesson 
SET duration = 
    (SELECT TIME_TO_SEC(TIMEDIFF(finish_time,start_time))/60 
     FROM lesson AS l 
     WHERE l.id = lesson.id)
4

1 に答える 1

4

同じ行の他の列の値で列を更新するため、それを行う必要はありません。

UPDATE lesson 
SET duration = TIME_TO_SEC(TIMEDIFF(finish_time,start_time))/60 
于 2009-10-17T12:08:15.563 に答える