【问题标题】:how to copy derby table如何复制德比表
【发布时间】:2012-10-11 09:38:28
【问题描述】:

我正在使用 Eclipse、Java 和 Derby 数据库。我想尝试更改重写数据库中的一个表的值。在开始更改之前,我想复制特定的表(不是在代码中),以便在必要时恢复原始数据。 Sof ar 谷歌搜索和搜索该站点尚未产生答案。在 Eclipse 中有一个导出数据库的选项,但它称它为连接,所以我不知道会发生什么。

【问题讨论】:

    标签: eclipse derby


    【解决方案1】:

    如果您不确定如何连接数据库并发出 sql 语句,则需要了解 JDBC。 This 是一个很好的起点。

    如果您要问的是 SQL,那很简单。您可以基于 select 语句创建表。

    例如

    create table table2 as select * from table1 with no data;
    

    德比在这方面有点奇怪。您必须指定无数据,创建的表将为空。然后,您可以根据需要发出插入新表的指令。

    insert into table2 select * from table1;
    

    新表将没有索引。如果需要,您将需要创建它们。它可能会保留主键。如果您正在针对它进行测试,您应该检查一下。如果不保留主键,则需要先创建主键再往表中插入数据。

    【讨论】:

    • 另一种可能性是对整个数据库进行备份,以便您在实验后恢复它。
    • 您在 create 语句中的 table2 之前错过了 'table'。它应该是:create table table2 as select * from table1 with no data;
    【解决方案2】:

    在 Eclipse 中有一个导出数据库的选项,但它称之为连接,所以我不确定会发生什么。

    如果您不清楚 Eclipse 所做的事情,您也可以将整个数据库目录(DERBY_HOME 环境变量的内容)压缩到存档中。进行备份时,数据库不得运行。

    【讨论】:

    • 感谢您的回复 - 压缩整个数据库是一种解决方案,但我认为可以简单地导出表并稍后恢复它。好像没有。
    猜你喜欢
    • 2015-05-11
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多