mysql - PgAdminIII - 如何在一个脚本中创建数据库和表

标签 mysql postgresql pgadmin pgadmin-4

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

 CREATE DATABASE homework;

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

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

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

感谢任何帮助!爱你们!

最佳答案

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

CREATE DATABASE homework;

\c homework;

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

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

关于mysql - PgAdminIII - 如何在一个脚本中创建数据库和表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43382875/

相关文章:

postgresql - 在 Redshift 中创建 View 时有什么方法可以强制后期绑定(bind)吗?

postgresql - 适用于 Windows 的 pgadmin3 深色主题?

sql-server - PostgreSQL 中的 nextval 和 curve 混淆

postgresql - 如何在 pgAdmin 中删除文本的引用?

postgresql - pgadmin4 命令继续运行并且进程观察器不会消失

连接后,MySQL 查询仅过滤包含特定值的行

mysql - 没有得到这个 mysql 查询

mysql - 如何按最新日期和 ID 进行分组,同时考虑之前日期的所有数据?

mysql - Fountion error book.Description不存在

node.js - 使用 Nodejs 和 Postgres 防止 SQL 注入(inject)