1

我正在阅读 MYSQL refman-5.6.pdf。我很困惑。

mysql_stmt_bind 示例代码仅显示?语法。同时,Connector/J 样本有这个:

//
// Alternatively, set a parameter using
// the parameter name
//
cStmt.setString("inputParameter", "abcdefg");

如果命名参数不是Connector/J的扩展函数,MYSQL命名参数的正确语法是什么?

4

1 回答 1

0

http://dev.mysql.com/doc/refman/5.6/en/connector-j-usagenotes-statements-callable.html#connector-j-examples-callablestatement有你所指的例子,它说:

CallableStatement还支持按名称设置参数:

所以这是特定于CallableStatement用于调用存储过程的,它特定于 MySQL 的 JDBC 实现。这不是 JDBC 规范的标准。

此扩展仅针对 实现CallableStatement,而不针对PreparedStatement.


回复您的评论:

是的,没错,MySQL 不支持命名参数,只支持位置参数。

像 Connector/J CallableStatement 和 PHP 的 PDO 库这样的客户端接口实际上必须做一些额外的工作来模拟命名参数。

于 2013-11-01T06:34:08.153 回答