pat*_*rjk 0 mysql prepared-statement
我正在尝试在MySQL中创建一个准备好的语句,它接受一个参数.当我在命令行上尝试此操作时,我收到语法错误.但是,当我准备好的声明中没有变量时,我能够很好地创建它们.下面是我在MySQL命令提示符下看到的复制和粘贴:
mysql> PREPARE state_name FROM "select * from ? limit 1";
Run Code Online (Sandbox Code Playgroud)
错误1064(42000):您的SQL语法有错误; 检查与您的MySQL服务器版本对应的手册,以便在'附近使用正确的语法?在第1行限制1'
mysql> PREPARE state_name FROM "select * from documents limit 1";
Run Code Online (Sandbox Code Playgroud)
Query OK, 0 rows affected (0.00 sec) Statement prepared
我正在使用的MySQL版本是5.0.77-log.
我没有看到语法错误吗?是否有任何配置参数我必须设置,以使准备好的语句工作?
您不能将表名称作为预处理语句参数传递,我担心,您也不能将列传递给组或排序.您可以参数化的唯一内容是where子句或更新中的字段:
PREPARE state_name FROM "select * from documents where id = ?";
PREPARE state_name FROM "update documents set field = ? where id = ?";
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2054 次 |
最近记录: |