2015-12-20 36 views
1

我有這樣的查詢:如何檢查表中是否存在值?

INSERT INTO votes (post_id, user_id, value, date_time) 
    SELECT ?,?,?,?,?,? 
    FROM $table_name t 
    WHERE {if t.id exists $id} limit 1 

我怎麼可以這樣寫{if t.title exists 'anythin'}在MySQL?


編輯:其實我想檢查post是存在於Posts表中插入一票該職位之前。

+1

它不是很清楚你試圖過濾什麼......如果t.title存在,t.title ='任何東西',或'任何東西'是一些參數喂入你的查詢?你能簡短地解釋一下嗎? –

+0

是的,你應該發佈更多的細節。你想達到什麼目的? – etalon11

回答

2

如果您的目標是選擇'存在'數據,請嘗試WHERE t.title IS NOT NULL

如果它要完成它插入「什麼」,如果有任何數據的條件語句,然後嘗試(if t.title is not null, 'anything', null)

+0

謝謝.....! +1 – stack

1

你有沒有tryed

WHERE EXISTS (SELECT * FROM $Posts_table_name WHERE Id = 'YourPostId'); 

編輯: 您寫道:「其實我希望檢查帖子是否存在於插入對該帖子的投票之前的帖子表中

最好的方法是將post_id設置爲外鍵,如果if該ID不存在插入查詢不會有影響

+0

謝謝....! +1 – stack