MysqlC++驱动程序-创建后获取准备好的语句查询

Mysql C++ Driver - Get prepared statement query after created

本文关键字:准备好 语句 查询 获取 驱动程序 创建 MysqlC++      更新时间:2023-10-16

我在c++应用程序中大量使用准备好的语句。我遇到的问题是,当mysql查询抛出错误(即外键约束)时,

我希望能够以某种方式获得该查询,以便进行调试。下面是来自MysqlWrapper.cpp的一个小代码示例(我编写的一个类,它封装了C++驱动程序)

    long MysqlWrapper::Insert(sql::PreparedStatement *stmt)
    {
        try
        {
            stmt->execute();
            ...
            //return inserted id
        }
        catch(sql::SQLException &ex)
        {
            // How can I get the query being executed by stmt?
        }
    }

准备好的语句不值得在MySQL中遇到问题,它们并不比经典的SQL语句快多少。它们不像在其他RDBMS中那样进行编译。我认为在这种情况下,最好使用批处理插入,而不是准备好的语句。