gpt4 book ai didi

DBeaver 在导入/导出时不保留主键

转载 作者:行者123 更新时间:2023-12-02 00:12:15 24 4
gpt4 key购买 nike

我正在使用 DBeaver 将数据从 Postgres 迁移到 Derby。当我使用 DBeaver 中的向导直接从一个表转到另一个表时,Derby 中的主键是生成的,而不是插入的。这会导致后续表的外键出现问题。

如果我生成 SQL,主键是 SQL 语句的一部分并且已正确插入。然而,以这种方式处理的行太多。

有没有办法让 DBeaver 在直接导入/导出到数据库表时插入主键而不是让它生成?

目标表架构

CREATE TABLE APP.THREE_PHASE_MOTOR (
ID BIGINT NOT NULL DEFAULT GENERATED_BY_DEFAULT,
VERSION INTEGER NOT NULL,
CONSTRAINT SQL130812103636700 PRIMARY KEY (ID)
);

CREATE INDEX SQL160416184259290 ON APP.THREE_PHASE_MOTOR (ID);

源表架构

CREATE TABLE public.three_phase_motor (
id int8 NOT NULL DEFAULT nextval('three_phase_motor_id_seq'::regclass),
"version" int4 NOT NULL,
CONSTRAINT three_phase_motor_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);

最佳答案

我发现了一个使用 6.0.5 版本的技巧;执行以下步骤:

  • 双击表名称
  • 然后选择数据选项卡
  • 然后点击灰色表格角(行顺序号顶部的角)以选择所有行
  • 然后右键单击同一个灰色表格角
  • 然后选择生成 SQL -> INSERT 菜单

将弹出一个包含 INSERT 指令的窗口,其中包括 id(主键)。

PS:当选择行的子集时,相同的菜单也仅适用于这些行

enter image description here

关于DBeaver 在导入/导出时不保留主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36670770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com