2010-03-09 57 views
2

我有一個表在MySQL這樣更新行,如果已經存在在MySQL

Name    Result 
T1_09_03_2010  fail 
T2_09_03_2010  pass 
T3_09_03_2010  pass 
T4_09_03_2010  fail 
T5_09_03_2010  fail 
T6_09_03_2010  pass 
T7_09_03_2010  fail 

好,T1_09_03_2010是測試用例的名字。如果由於某種原因,開發人員想在同一天再次測試同一個測試用例,然後使用相同的名稱,則需要根據結果更新已存在的行。 說,例如T1_09_03_2010failed在這方面,如果這是再次運行,結果是pass,它應該更新行,但如果結果如果fail,那麼它應該離開結果,因爲它是我的意思是忽略新的插入並與他人繼續。

謝謝。

回答

1

您應該使用INSERT... ON DUPLICATE KEY UPDATE ..語法。

+0

是的,我雖然使用thrl duplciate。但是,只有在測試用例失敗並且稍後通過的情況下,我才需要條件。這會足夠嗎? – JPro 2010-03-09 15:13:12

+0

你真的不想知道一個測試用例是否第二次失敗,即使它通過了第一個測試用例? – 2010-03-09 15:33:01

+0

@Chris Ridenour:如果第一次通過測試用例,我想要保持原樣。但如果它再次通過? – JPro 2010-03-09 16:14:54