You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redshift使用CREATE TABLE...LIKE复制表未保留主键如何处理?

Redshift CREATE TABLE LIKE 保留主键约束解决方案

默认情况下,Redshift 的 CREATE TABLE ... LIKE 语法仅复制原表的列定义、数据类型、压缩编码、分布键、排序键等基础属性,默认不会携带主键、外键、默认值等附加属性,你遇到的主键丢失问题确实是因为遗漏了参数配置。

要实现主键约束的复制,需要额外指定 INCLUDING CONSTRAINTS 参数,正确写法如下:

CREATE TABLE new_table (LIKE orig_table INCLUDING CONSTRAINTS);

补充注意事项

  • 如果你同时需要保留原表的字段默认值,可以叠加 INCLUDING DEFAULTS 参数,示例:
    CREATE TABLE new_table (LIKE orig_table INCLUDING CONSTRAINTS INCLUDING DEFAULTS);
    
  • INCLUDING CONSTRAINTS 仅支持复制非空约束、主键约束、唯一约束,外键约束目前无法通过该语法复制,需要创建表后手动添加
  • 该参数仅在 Redshift 1.0.2483 及以上版本支持,若执行后仍不生效可先检查集群版本是否符合要求

内容的提问来源于stack exchange,提问作者Bex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 16:54:08