sql - Jetbrains Datagrip 2017.1.3,将数据转储到 sql 插入文件时强制导出列

标签 sql sql-server database datagrip

我有一个包含大量表和数据的 SQL Server 数据库。我需要在 docker 容器中本地复制它。 我已成功导出架构并复制它。当我将数据转储到 SQL 文件时,它不会导出自动生成的字段(例如 ids 或 uuids)

这是用户表的架构:

 create table user (
    id_user bigint identity constraint PK_user primary key,
    uuid uniqueidentifier default newsequentialid() not null,
    id_salarie bigint constraint FK_user_salarie references salarie,
    date_creation datetime,
    login nvarchar(100)
)

当它从这个表中导出元素时,我得到了这种插入:

INSERT INTO user(id_salarie, date_creation, login) VALUES (1, null, "example")

结果,我的大部分插入都会给我外键错误,因为我的新数据库生成的 ID 与旧数据库中的 ID 不同。我无法手动更改所有内容,因为数据太多了。

相反,我想要这种插入:

INSERT INTO user(id_user, uuid, id_salarie, date_creation, login) VALUES (1, 1, "manuallyentereduuid" null, "example")

有什么方法可以直接用 Datagrid 做到这一点吗?或者可能是一种特定的 SQL 服务器以这种方式生成插入语句的方式?

不要犹豫,在评论中询问更多详细信息。

最佳答案

在配置 INSERT 提取器时,您需要“跳过生成的列”选项。

enter image description here

关于sql - Jetbrains Datagrip 2017.1.3,将数据转储到 sql 插入文件时强制导出列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43778936/

相关文章:

sql - 在一列上选择DISTINCT,返回其他多列(SQL Server)

sql - 这可以变得更容易吗?

sql-server - SQL Server正则表达式空字符串匹配

sql-server - GRANT 的 "AS DBO"部分有什么作用?

MySQL:如何转换为 EAV?

sql - begin_date加上360个月,如何通过lookup维度表准确获取end_date?

SQL 查询连接具有不同列数的两个不同查询

SQL Server DISTINCT 分页与 ROW_NUMBER() 不不同

sql - 忽略特定列中的相同值

sql-server - 无法更改用户密码