Sqlite 用SELECT覆盖数据库

Sqlite 用SELECT覆盖数据库,sqlite,perl,Sqlite,Perl,我试图用SELECT语句替换整个表,但我不确定如何删除表中的所有数据,然后用正确的数据替换它 我一直在尝试使用fetchall_arrayref,但无法理解如何将数据放入数组,然后用SELECT数据重新填充表 所以我有 my$st=$dbh->准备选择源、组_concatport''作为逐源探测组的端口; 我的$rv=$st->执行或死亡错误;;;;; 及 我的$数据; foreach$data@$data{ my$variable1,my$variable2=@$data; } 我只是尝试从$

我试图用SELECT语句替换整个表,但我不确定如何删除表中的所有数据,然后用正确的数据替换它

我一直在尝试使用fetchall_arrayref,但无法理解如何将数据放入数组,然后用SELECT数据重新填充表

所以我有

my$st=$dbh->准备选择源、组_concatport''作为逐源探测组的端口; 我的$rv=$st->执行或死亡错误;;;;; 及

我的$数据; foreach$data@$data{ my$variable1,my$variable2=@$data; }
我只是尝试从$st中获取分组的SELECT数据,并用它替换整个表。

您应该分两步完成此操作。首先,删除或截断目标表。然后,插入到。。。使用当前选择逻辑进行选择:

DELETE FROM yourTable;

INSERT INTO yourTable
SELECT source, GROUP_CONCAT(port, ' ')
FROM probes
GROUP BY source;

你是说要做这样的事吗?perl my$sth=$dbh->prepareINSERT或REPLACE-INTO探测源、端口值?,?按源分组选择源、组_concatport“”作为探针的端口;不,我没有,因为这个建议实际上不会删除任何内容。是的,我知道,但我不明白如何将INSERT和SELECT放在同一行上。