2013-11-22 66 views
1

我不久前學習java,所以也許我有一個愚蠢的問題。Mysql查詢答案真,假

我有一個表,我在那裏存放了一些信息。 我想在這張表中查看一些信息的可用性(它將只有一行),如果是 - 從這行開始,特定列中的信息(如果沒有)做另一件事。

我真的不知道該怎麼做。 我的想法是這樣的:在第一 - 檢查表:

SELECT * FROM tablename WHERE nickname = "kvant"; 

那麼如果真,做搜索信息另一個查詢。 並且在條件爲if的情況下執行此操作。但我所有的嘗試都沒有轉過頭。

希望對您有所幫助,對不起我的歪英語。如果存在

+2

你必須更具體。你究竟想要做什麼?另請添加示例數據和預期輸出。 –

回答

0

檢查數據是這樣的:

IF EXISTS(SELECT * FROM tablename WHERE nickname = "kvant") 
BEGIN 
    --value is found so go ahead 
END 
ELSE 
    --value not found 
BEGIN 
END 
0

一個簡單的方法是查詢數據庫並得到結果。 If result!=Null {//do something} else {//Do something}

(可使用try - catch爲好)

0

純Java可能的解決方案:

試圖讓在查詢中值。獲取該查詢的ResultSet rs:

if(rs.next()) { 
    String value = rs.getString("value"); //Assuming the column is value and that it is a String. 
    //Do whatever you want with the value 
} else { 
    //The other thing 
} 

如果您無法從第一個ResultSet獲取值,請在if中執行另一個查詢。

0

寫在SQL像select case exists (select * from yourtable where condition) then 'dothis thing' else 'dootherthing' from 'yourtable' where 'yourcondition'

,因爲你想,你知道後,你有一些conditon存在運行一些其他查詢。

+0

我試圖做這樣的行爲 - 我得到錯誤。 '選擇情況下,不存在(選擇從測試*其中名稱=「KVANT」),然後(插入到測試值(NULL,「Sarvepalli」));' ,但如果我seperatly檢查它,這樣'從測試,其中選擇* name =「Kvant」或者這個插入測試值(null,「Sarvepalli」) - 它正常工作。 – kvant