'tasks_processes'という次のテーブルがあります。
id| task_id | process_id | start | end
1| 2 | 43 | 0 | 250
2| 2 | 82 | 250 | 500
3| 2 | 21 | 500 | 750
したがって、「開始」列と「終了」列は範囲の境界を表し、タスク内で一意です。新しいプロセスの場合、次のようにINSERTSELECTクエリを実行する必要があります。
INSERT INTO tasks_processes (start,end,task_id,process_id)
SELECT
COALESCE ((SELECT MAX(end) FROM tasks_processes WHERE task_id=2),0) as new_val ,
new_val + 250,
2,
12;
つまり、以前に計算した値に基づいて値を挿入する必要があります。しかし、MySQLは私にDatabaseErrorを与えます:そのような列はありません:new_val
この問題を解決する方法は?