当我尝试运行此命令时遇到错误:
mysql> prepare stmt1 from "UPDATE test.users SET password = password('?') WHERE usrid = ?";
mysql> prepare stmt1 from "UPDATE test.users SET password = password(?) WHERE usrid = ?";
如何制作一个准备好的语句,其中函数将我的变量作为参数?
最佳答案
您需要在准备好的声明周围添加一些双引号:
mysql> PREPARE stmt_name FROM "SELECT name FROM Country WHERE code = ?";
Query OK, 0 rows affected (0.09 sec)
Statement prepared
mysql> SET @test_parm = "FIN";
Query OK, 0 rows affected (0.00 sec)
mysql> EXECUTE stmt_name USING @test_parm;
+---------+
| name |
+---------+
| Finland |
+---------+
1 row in set (0.03 sec)
mysql> DEALLOCATE PREPARE stmt_name;
Query OK, 0 rows affected (0.00 sec)
关于sql - 使用函数语法的准备语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1515079/