2013-02-18 65 views
0

我有一個表,有五列:uid, lead_id, form_id, field_number, value更新或其他插入,多行

我要更新valueWHERElead_id, form_id, and field_number存在。在我的腳本中,我不知道該ID(沒有執行查詢),但是lead_id, form_id, field_number TOGETHER也是unique。偶爾,這一行將NOT exist,將不得不插入而不是更新。

它變得更加複雜,因爲我有大約30行,value列,我想更新/插入,而寧願在一個查詢中執行此操作。

UPDATE 這裏基本上是我今天使用的,但它不更新(顯然)不存在的行。因此,如果數據最初沒有填充,但添加到更新中,則不會將此數據添加到數據庫中。

這是我目前有:

UPDATE someTableName 設定值= field_number WHEN field_number_value_1 THEN 'newValue1' WHEN field_number_value_2 THEN 'newValue2' WHEN field_number_value_3 THEN 'newValue3' END WHERE form_id = 3, lead_id = 37和field_number IN field_number_value_1,field_number_value_2,field_number_value_3" ;

+0

我對這個問題是有點困惑。你有沒有在桌子上唯一的鑰匙? – 2013-02-18 00:26:43

+0

好的,我更新了我目前使用的帖子。 – user2081605 2013-02-18 01:41:18

回答

1
INSERT INTO table (uid, lead_id, form_id, field_number, value) 
VALUES (1, 1, 1, 1, 0) 
ON DUPLICATE KEY UPDATE value = value + 1 ; 

更多信息: ON DUPLICATE KEY UPDATE

+0

這,我不認爲會爲我工作,因爲我沒有查詢數據庫沒有UID,我需要一次執行多個更新。 – user2081605 2013-02-18 13:48:21