私はテーブルを持っています
table1
****************************
id | start_date | end_date
1 30/06/2012 01/01/9999
新しい行を挿入すると
id | start_date | end_date
1 30/06/2012 26/06/2012 <- Now it is the start date of the next row2
2 26/06/2012 01/01/9999
挿入行の開始日は、前の行の終了日などになります。
$sql = "INSERT INTO
table1(cate_id,task_id,obj,end_date,start_date,line)
SELECT
$cate_id ,
$task_id,
$obj,
'2011-02-28', -> this what I am trying to do
'9999-01-01', -> this what I am trying to do
line1
FROM
line_task
WHERE
line_task_id = (
SELECT
line_task_id
FROM
task
WHERE
task_id = 2
)";
私がこのようなことを試したとき:
insert into table1(cate_id,task_id,obj, start_date, end_date,line)
values (4,3,23, (Select max(end_date) from table1),end_date,'value_line');
メッセージを受け取りました:
Error code 1093, SQL state HY000: You can't specify target table 'table1' for update in FROM clause
Line 1, column 1
実行は 0 秒後に終了し、1 個のエラーが発生しました
mysqlでこれを行う方法を教えてください。ありがとう