0
私はSQLクエリを構築するためにテンプレートクエリを使用しようとしました。サンプルコードは次のとおりです。mysqlpp:テンプレートクエリを使用するときのSQL構文エラー
unsigned int version = 2;
try {
// key_version is INT UNSIGNED
mysqlpp::Query query = conn->query("SELECT * FROM agentlist WHERE key_version != %0q");
mysqlpp::StoreQueryResult res = query.store(version);
// string type param also caused the same problem
// mysqlpp::StoreQueryResult res = query.store(std::to_string(version));
} catch (const exception &ex) {
// deal with exceptions
}
コードはcatch
になります。 ex.what()
:
SQL構文に誤りがあります。ライン1
で\「2 \」近くで使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認し、私はそれがSQLQueryParms
タイプによって引き起こされたと思いますが、チュートリアルどちらもドキュメントが示していましたこれを回避する方法。
ところで、(テンプレートパラメータを代入して)解析されたクエリ文字列を取得するにはどうすればよいですか?私はquery.str(version)
を試しましたが、query.str()
と同じでした。