2009-10-27 28 views
1

我有一個名爲scheduler_sched的表,它有幾個列,其中包括一個名爲schedule_id的列。PHP,MySQL:重複系列行,但更改1列?

我需要一個函數,我可以傳遞2個ids(copy_from_id,copy_to_id)作爲參數。而我需要做的是採取的所有行上schedule_id = copy_from_id和重複,但改變copy_from_id到copy_to_id

所以基本上我想給這個equivalient:

UPDATE scheduler_sched SET schedule_id = 32 WHERE schedule_id = 28 

只有我不知道想要更新任何行,我想創建與新ID的重複

這是否有意義?

我該怎麼做?

謝謝!

(通過schedule_id的方式是不是在該表中唯一/索引字段)

回答

2
Insert into scheduler_sched (column1, column2, column3,schedule_id) 
Select column1, column2, column3, 32 from scheduler_sched WHERE schedule_id = 28 
0

只需插入,而不是更新的新行。如果schedule_id 28存在,則首先選擇SELECT,如果存在,則插入一個新的ID作爲ID。

0

既然你沒有指定一個版本的MySQL,我要去假設它是最新的(5.4)。

假設我正確認識你,你應該能實現這個使用觸發器:http://dev.mysql.com/doc/refman/5.4/en/create-trigger.html

一個使用觸發器的好處,是它全部由數據庫本身處理。

+0

其實我使用4.1.22,抱歉沒有指定 – 2009-10-27 17:47:46