我有一个这样的SQL脚本,我使用psql
从命令行运行:
insert into "A"."B" values
(1, 'name=a', 'a@example.com', 'K')
如何在数据库中将其转换为INSERT
命令?
INSERT INTO "A"."B" (first_column, second_c, third_c, fourth_1)
VALUES ('2', 'name=a', 'a@example.com.com', 'K');
"A"."B"
还做什么?我读到某个地方,当表名有Capitals时需要双引号。当我在数据库中运行命令时,我似乎遇到了错误。
答案 0 :(得分:1)
您可以使用此查询,其中A是架构,B是表名。
int main( int argc, char* argv[]) {
try {
std::shared_ptr< boost::asio::io_service > io_svc = std::make_shared< boost::asio::io_service >();
boost::fibers::use_scheduling_algorithm< boost::fibers::asio::round_robin >( io_svc);
// server
tcp::acceptor a( * io_svc, tcp::endpoint( tcp::v4(), 9999) );
boost::fibers::fiber( server, io_svc, std::ref( a) ).detach();
// client
const unsigned iterations = 2;
const unsigned clients = 3;
boost::fibers::barrier b( clients);
for ( unsigned i = 0; i < clients; ++i) {
boost::fibers::fiber(
client, io_svc, std::ref( a), std::ref( b), iterations).detach();
}
io_svc->run();
std::cout << "done." << std::endl;
return EXIT_SUCCESS;
} catch ( std::exception const& e) {
print("Exception: ", e.what(), "\n");
}
return 0;
}
答案 1 :(得分:1)
您说您的数据库名称为DB
且您的表名为B
。
您可以单独使用表名:
INSERT INTO "B" (first_column, second_c, third_c, fourth_1)
VALUES ('2', 'name=a', 'a@example.com.com', 'K');
如果要包含数据库名称,请使用:
INSERT INTO "DB"."B" (first_column, second_c, third_c, fourth_1)
VALUES ('2', 'name=a', 'a@example.com.com', 'K');
只有当任何实体的名称(例如表,列等)是保留字时,才需要双引号。