Poco::Data::Keywords::use 不适用于 PostgreSQL?

Poco::Data::Keywords::use not working for PostgreSQL?

我正在尝试使用 POCO 在 PostgreSQL 中插入值。我正在尝试使用 Poco::Data::Keywords::use:

try
{
        Poco::Data::PostgreSQL::Connector::registerConnector();

        Poco::Data::Session session(Poco::Data::PostgreSQL::Connector::KEY,
                                    "host=localhost port=5433 user=test password=test dbname=test_db");

        int test1_id = 1;
        int test2_id = 2;
        int id = 0;

        session << "insert into test (test1_id, test2_id) values (?, ?) returning id",
                Poco::Data::Keywords::use(test1_id),
                Poco::Data::Keywords::use(test2_id),
                Poco::Data::Keywords::into(id),
                Poco::Data::Keywords::now;

        std::cout << "id = " << id << std::endl;
}
catch (const Poco::Exception& ex)
{
    std::cout << "exception: " << ex.displayText() << std::endl;
}

但我遇到了一个例外:

exception: PostgreSQL: [PostgreSQL]: postgresql_stmt_prepare error: ERROR:  syntax error at or near ","
LINE 1: ... into test (test1_id, test2_id) values (?, ?) retur...
                                                             ^
 insert into test (test1_id, test2_id) values (?, ?) returning id

如果我以其他方式插入:

session << "insert into presentation (test1_id, test2_id) values ('" 
    << test1_id << "', '" << test2_id << "') returning id",
    Poco::Data::Keywords::into(id),
    Poco::Data::Keywords::now;

它工作正常。第一种方式我做错了什么?

有效

 session << "insert into test (test1_id, test2_id) values (, ) returning id",
                Poco::Data::Keywords::use(test1_id),
                Poco::Data::Keywords::use(test2_id),
                Poco::Data::Keywords::into(id),
                Poco::Data::Keywords::now;