2012-02-03 77 views
4

使用時,我是相當新的SQL和我目前返工另一個 程序員開發了一個Java程序表示。當我打印他查詢select語句的一個腳本包含SQL語法:什麼「=?」在SQL查詢

SELECT * from database WHERE id = ? 

我只是想知道什麼是=?應該怎麼辦?我一直在搜索,我找不到任何相關的答案。

+0

您使用的是什麼RDBMS? – 2012-02-03 03:43:53

+0

'?'意味着你即將用實際的ID – 2012-02-03 03:44:15

+0

來取代它@shark我認爲他使用Oracle作爲後端目前使用MySQL作爲我的開發數據庫 – Devjosh 2012-02-03 03:46:36

回答

1

?是一個佔位符,一個參數,這樣就可以在動態傳遞,並返回不同的參數不同的結果。

某處的代碼,你應該看到,他增加了參數Statement對象並執行它。

1

最有可能你正在使用的工具,將取代「?」具有實際價值。我曾在其他工具(如SQL DTS(數據轉換服務)......)上看到過這一點,但這顯示了我的年齡:)

?不是SQL語言的一部分。

0

下面是一個例子: 「?」

PreparedStatement ps = 
    connection.prepareStatement("select name from users where user_name = ?"); 
ps.setString(1, "user1"); 

的當運行查詢時將被「user1」取代,並返回用戶名爲「user1」的用戶的名字。