这个问题特定于libpqxx。
给定如下 SQL 语句:
string s = "SELECT a.foo, b.bar FROM tableOne a, tableTwo b WHERE a.X=b.X"
并将其发送到 pqxx 事务:
trans.exec(s.c_str(), s.c_str());
结果字段中的列将具有什么名称?
换句话说,假设选择了 1 行:
pqxx::result::const_iterator row = result.begin();
int foo = row->at(FOO_COLUMN).as<int>();
int bar = row->at(BAR_COLUMN).as<int>();
FOO_COLUMN 和 BAR_COLUMN 应该有什么值?它们会分别是“a.foo”和“b.bar”吗?
如果 SQL 语句使用“as”关键字重命名变量,那么我想列名将是任何“as”设置,对吗?
通常我会尝试使用 SQL 并打印列值,但由于我正在开发软件和数据库本身,所以现在进行该测试并不容易。
谢谢!