PostgreSQL - 使用LIKE创建表的语法错误

36

我正在尝试从父表创建一个临时表:

以下是我使用pgAdmin III执行(或在Java中通过JDBC执行)的代码:

CREATE TEMP TABLE table1_tmp LIKE table1 INCLUDING DEFAULTS;

我收到的错误信息是:

[WARNING  ] CREATE TEMP TABLE table1_tmp LIKE table1 INCLUDING DEFAULTS
        ERROR:  syntax error at or near «LIKE»
        LÍNEA 1: CREATE TEMP TABLE table1_tmp LIKE table1 INCLUDING DEFAULTS
                                              ^

查阅PostgreSQL 8.4文档,使用其中的内容创建表格非常简单,但我不明白语法问题出在哪里。

2个回答

63

你需要将like放在括号中,就像这样

CREATE TEMP TABLE table1_tmp ( LIKE table1 INCLUDING DEFAULTS ) ;

如果您不按1:1的方式计算括号,那么这在文档中并不明显。


26

我不是Postgresql的用户,但是手册中说,在like语句周围应该有 ( )。

CREATE TEMP TABLE table1_tmp (LIKE table1 INCLUDING DEFAULTS);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接