Postgres插入表格

时间:2018-04-04 06:03:17

标签: sql postgresql sql-insert

我有一个这样的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时需要双引号。当我在数据库中运行命令时,我似乎遇到了错误。

2 个答案:

答案 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');

只有当任何实体的名称(例如表,列等)是保留字时,才需要双引号。