2014-01-29 89 views
0

我有一個表選擇性更新的MySQL

ID Skills 
1 Python | Perl | 
2 C# | Python | 
3 Java | C++ | Perl | 

查詢應加技能下技能,如果技能不存在,但不加它,如果它。因爲它已經存在 例如,

​​

不宜加蟒蛇到現有的技能。

Update t1 set Skills = Concat(Skills,'Python | ') where ID = '3' 

應該更新3

ID Skills 

3 Java | C++ | Perl | Python | 

我能夠Concat的而不是有條件的concat

感謝

+0

爲什麼要使用關係數據庫,然後這樣做呢?遵循標準化而不是干擾列表到字段中。 –

+0

@DigitalChris我同意你的意見,但列表是從csv文件直接導入到數據庫的.. – Ank

+1

你說的,但是在這裏你試圖更新記錄。你創造的野獸已經在咬你。正確的做法是讀取CSV數據並關聯導入。 –

回答

1

您可以在skills場嘗試not like

Update t1 
    set Skills = Concat(Skills,'Python | ') 
where Skills not like '%Python |%'