我将本机C++应用程序从SQLite移植到MySql。 SQLite中,可以使用名为准备语句的参数,如下列之一:MySql C API:是否支持准备语句命名参数?
SELECT * FROM `Table` WHERE `Id` = @Id
在MySQL文档没有提到这样的功能。相反,MySQL中我们使用未命名的参数,如下列之一:
SELECT * FROM `Table` WHERE `Id` = ?
它不是查询时很容易出现问题;但是,对于具有10-15个参数的复杂查询,如果您必须更新统计信息,则此方法看起来很糟糕;你必须控制自己,每个未命名的参数处于正确的位置,记住参数数组中的索引是什么问题符号。所以,对我而言,在MySql中不寻常的是不支持命名的预处理语句参数。
在MySql C API中有没有什么方法可以在准备语句中使用命名参数,而不是用问号表示的未命名参数?