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

如何在同一数据库中基于现有集合创建新的空集合?

创建与现有集合/表结构一致的空集合/表

以下是主流数据库中实现该需求的具体方法:

MongoDB

通过聚合管道的$limit: 0配合out选项,生成结构完全一致的空集合,同时会继承原集合的索引:

db.sourceCollection.aggregate([{ $limit: 0 }], { out: "newCollection" })

或者直接创建集合并复用原集合的验证规则与索引:

db.createCollection("newCollection", {
  validator: db.sourceCollection.getValidator(),
  indexSpecs: db.sourceCollection.getIndexes().map(idx => ({ key: idx.key, name: idx.name }))
})

MySQL

使用LIKE关键字直接复制原表的完整结构(包括列定义、索引、约束),且不复制数据:

CREATE TABLE new_table LIKE source_table;

PostgreSQL

如果仅需要复制列结构与数据类型:

CREATE TABLE new_table AS SELECT * FROM source_table WHERE false;

如果需要完整复制所有结构(包括索引、约束、默认值等):

CREATE TABLE new_table (LIKE source_table INCLUDING ALL);

SQL Server

通过SELECT INTO搭配恒假条件创建空表,复制原表的列结构与数据类型:

SELECT * INTO new_table FROM source_table WHERE 1 = 0;

若需要复制索引、触发器等额外对象,需单独生成对应脚本执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 08:06:16