假设我有一个包含某些字段的meeting
表。在这些字段中,有一个tasks
字段,它是task
的一个集合。这task
反过来又是用户定义的类型。
现在,我不想将task
存储为会议的字段,而是存储在自己的task
表中。
但是,我的系统中已经有会议数据,因此我需要将任务的信息从meeting
表迁移到新的task
表。
如果它们是相似的表,我可以使用COPY
like in this other SO answer。
但是,我对此一无所知。
不多,可悲的是。我尝试过:
COPY keyspace.meeting(subtasks) to 'try.csv';
实际上将这组子任务导出到文件中,但是当我:
COPY keyspace.subtask(name, id, ...etc ) from 'try.csv';
我得到一个错误:
主键列'meetingid'丢失或跳过
之所以有意义,是因为集合既没有meetingid
也没有id
。
我需要指示使用CQL到COPY
命令来将每个子任务导出为一行,但是我在任何地方都找不到此选项,也没有与此问题相关的任何东西。
我想我可以将行集导出到.csv文件,然后使用编程语言对其进行按摩,然后从中进行复制。但这很麻烦,如果可能的话,我想仅使用.cql代码解决此问题。