簡體   English   中英

從另一個表創建一個表

[英]Create a table from another table

我想從另一個表(模式副本)創建一個表,但不是數據,只是模式。 是否有執行此操作的 SQL 或 Postgres 方法? 希望也可以復制索引和約束。

此外,一旦創建了表,就可以保持模式同步,以防將來對原始表進行任何更改。 將為我節省模式的手動同步。 可能是 Postgres 有什么東西?

是的,使用create table like

create table new_table (like old_table);

手冊中的更多詳細信息:
http://www.postgresql.org/docs/current/static/sql-createtable.html

like子句將復制索引和檢查約束,但不會復制外鍵約束。

盡管如此,它不會讓 new_table 與舊的保持“同步”——我不清楚你為什么想要那樣。

僅復制結構

Select * into newtable from oldtable where 1=2

使用CREATE TABLE AS SELECT其中SELECT返回任何內容。

CREATE TABLE 
    new_table 
AS 
    SELECT 
        * 
    FROM 
        old_table 
    WHERE 
        FALSE=TRUE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM