2012-02-03 23 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”的用户的名字。