2

我正在尝试运行以下同时创建数据库和表的脚本。因为我使用的是 PgAdminIII,所以我必须使用已有数据库的查询工具。我认为这可能是导致问题的原因。所以这就是我的脚本的运行方式:

 CREATE DATABASE homework;

 CREATE TABLE exampletable (
    id int NOT NULL,
    description text,
    PRIMARY KEY(id)
 );

但是,我收到此错误:错误:无法从函数或多命令字符串执行 CREATE DATABASE ********** 错误 **********

错误:无法从函数或多命令字符串执行 CREATE DATABASE SQL 状态:25001

任何帮助表示赞赏!爱你们!

4

2 回答 2

0

这是因为 PgAdmin3 将您的查询包装在 BEGIN...END 事务块中。如果你在 psql 中做了同样的事情,你可以这样做:

CREATE DATABASE homework;

\c homework;

CREATE TABLE exampletable (
id int NOT NULL,
description text,
PRIMARY KEY(id)
);

由于 psql 将在自动提交模式下执行这些语句,因此它们将在事务中单独执行,并按您的预期创建表。

于 2017-04-13T03:30:49.477 回答
0

在查询工具中一次选择并执行每个 CREATE sql。

于 2017-04-13T05:24:40.560 回答