次のように記述された (my)sql クエリをいくつか見てきました。
SELECT ? + 4;
とはどういう意味?
ですか? 私の推測では、それはある種のパラメーターですが、その値をどのように指定するのでしょうか?
?
プリペアドステートメントの構文におけるパラメータ値のプレースホルダーです。リンクされた記事は次の例を示しています。
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;
sqlにもタグを付けたので、MySQLとは関係なくさらに読むために、 PreparedStatementWikipediaの記事にリンクする価値があります。
mysqlでは、aはプリペアドステートメント?
のプレースホルダーです。ステートメントが実行される前に、クライアントからバインドされた値に置き換えられます。