Thread: SQL command Error: "create table ... Like parentTable including defaults"

Greetings,

I have a simple question about SQL command :

create table tableName1 LIKE parentTable   INCLUDING defaults ;


I was trying to create table "tableName1" with the same structure as 
"parentTable" without any data. I got a syntax error: 
'syntax error at or near "like" ... '

I guess there must be something wrong with my sql command, could 
somebody help?

Thanks a lot,
Emi


Re: SQL command Error: "create table ... Like parentTable

From
Bricklen Anderson
Date:
Ying Lu wrote:

> Greetings,
> 
> I have a simple question about SQL command :
> 
> create table tableName1 LIKE parentTable   INCLUDING defaults ;
> 
> 
> I was trying to create table "tableName1" with the same structure as 
> "parentTable" without any data. I got a syntax error: 'syntax error at 
> or near "like" ... '
> 
> I guess there must be something wrong with my sql command, could 
> somebody help?
> 
> Thanks a lot,
> Emi

I've never used the "LIKE..INCLUDING" clause before so I can't comment on that, 
but as an alternative, you could try a CTAS:
create table tableName1 as select * from parentTable where 1=0; (will not get 
the rows, just the structure).


Cheers,

Bricklen
-- 
_______________________________

This e-mail may be privileged and/or confidential, and the sender does
not waive any related rights and obligations. Any distribution, use or
copying of this e-mail or the information it contains by other than an
intended recipient is unauthorized. If you received this e-mail in
error, please advise me (by return e-mail or otherwise) immediately.
_______________________________


On Fri, May 27, 2005 at 11:48:39AM -0400, Ying Lu wrote:
> 
> create table tableName1 LIKE parentTable   INCLUDING defaults ;
> 
> I was trying to create table "tableName1" with the same structure as 
> "parentTable" without any data. I got a syntax error: 
> 'syntax error at or near "like" ... '

The CREATE TABLE documentation shows that LIKE should be in parentheses:

CREATE TABLE tableName1 (LIKE parentTable INCLUDING DEFAULTS);

http://www.postgresql.org/docs/8.0/interactive/sql-createtable.html

-- 
Michael Fuhr
http://www.fuhr.org/~mfuhr/