2011-10-14 32 views
1

我閱讀棧溢出了幾個解決方案,並發現這是最接近我的問題:MySQL的插入,如果一個特定的列沒有一個特定的值,它已經

MySQL "good" way to insert a row if not found, or update it if it is found

基本上,我創建單詞索引(來自網站),我的一個表只是一個主鍵(整數ID)和一個varchar(35)單詞。

我需要能夠嘗試插入一個新的條目(基本上,一個新詞)到這個表中。如果該詞不存在,則會添加新的記錄。如果它存在,什麼都不會發生。

獲得此功能的最佳方式是什麼? 「REPLACE INTO」會更改我不想要的鍵 - 如果mysql發現該單詞已經在數據庫表中,我只是希望它是無操作的。

回答

2

假設你有一個唯一的關鍵字 - 使用insert ignore可能會訣竅。

我的頭頂部的
+0

感謝男人,工作就像一個魅力:) –

1

我想:

if not exists(Select 1 from <Table> where word = 'theWord') 
Begin 
    --//do your insert 
End 

現在這是SQL Server,以便即時通訊不知道的MySQL的差異。讓我知道這是否有幫助。

+0

謝謝你的嘗試。我認爲這將工作,如果我充分利用它,但語法有點關閉,錯誤不明顯。插入忽略的想法很適合mysql,但個人而言,我自己也是一個SQL服務器人,雖然太哈哈了。 –

相關問題