的意思 ”?”在mysql查询中

时间:2013-01-20 00:08:45

标签: mysql sql

我已经看到一些(我的)sql查询这样编写:

SELECT ? + 4;

?的含义是什么?我的猜测是它是某种参数,但是如何指定它的值呢?

2 个答案:

答案 0 :(得分:8)

?syntax for prepared statements中参数值的占位符。链接的文章给出了以下示例:

mysql> PREPARE stmt1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';
mysql> SET @a = 3;
mysql> SET @b = 4;
mysql> EXECUTE stmt1 USING @a, @b;
+------------+
| hypotenuse |
+------------+
|          5 |
+------------+
mysql> DEALLOCATE PREPARE stmt1;

由于您还标记了,因此需要链接到Prepared Statement Wikipedia article以便进一步阅读MySQL。

答案 1 :(得分:3)

在mysql中,?prepared statement中的占位符。在执行语句之前,它将被客户端绑定的任何值替换。