3

次のように記述された (my)sql クエリをいくつか見てきました。

SELECT ? + 4;

とはどういう意味?ですか? 私の推測では、それはある種のパラメーターですが、その値をどのように指定するのでしょうか?

4

2 に答える 2

8

?プリペアドステートメントの構文におけるパラメータ値のプレースホルダーです。リンクされた記事は次の例を示しています。

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;

にもタグを付けたので、MySQLとは関係なくさらに読むために、 PreparedStatementWikipediaの記事にリンクする価値があります。

于 2013-01-20T00:12:14.420 に答える
3

mysqlでは、aはプリペアドステートメント?のプレースホルダーです。ステートメントが実行される前に、クライアントからバインドされた値に置き換えられます。

于 2013-01-20T00:11:56.333 に答える