我正在阅读 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命名参数的正确语法是什么?
最佳答案
CallableStatement also supports setting parameters by name:
所以这是特定于用于调用存储过程的CallableStatement
,并且特定于MySQL的JDBC实现。这不是 JDBC 规范的标准。
此扩展仅适用于 CallableStatement
,不适用于 PreparedStatement
。
回复你的评论:
是的,没错,MySQL 不支持命名参数,只支持位置参数。
像 Connector/J CallableStatement 和 PHP 的 PDO 库这样的客户端接口(interface)实际上必须做一些额外的工作来模拟命名参数。
关于mysql - MYSQL(通过连接器/J)是否支持命名参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19721608/