我尝试运行以下脚本,同时创建数据库和表。因为我使用的是PgAdminIII,所以我必须使用现有数据库的查询工具。我认为这可能会导致问题。所以这就是我的剧本:
CREATE DATABASE homework;
CREATE TABLE exampletable (
id int NOT NULL,
description text,
PRIMARY KEY(id)
);
但是,我收到此错误: 错误:无法从函数或多命令字符串执行CREATE DATABASE **********错误**********
错误:无法从函数或多命令字符串执行CREATE DATABASE SQL状态:25001
任何帮助表示赞赏!爱你所有人!
答案 0 :(得分:0)
这是因为PgAdmin3将您的查询包装在BEGIN ... END事务块中。如果你在psql中做了同样的事情,你可以这样做:
CREATE DATABASE homework;
\c homework;
CREATE TABLE exampletable (
id int NOT NULL,
description text,
PRIMARY KEY(id)
);
由于psql将在自动提交模式下执行这些语句,因此它们将在事务中单独执行,并将按预期创建表。
答案 1 :(得分:0)
选择&在查询工具中一次执行每个CREATE sql。