MYSQL(通过Connector / J)是否支持命名参数?

时间:2013-11-01 06:02:21

标签: mysql connector-j

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

mysql_stmt_bind示例代码仅显示? sytnax。同时Connector / J示例包含:

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

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

1 个答案:

答案 0 :(得分: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库这样的客户端接口实际上需要做一些额外的工作来模仿命名参数。