我有两个表:tableA和tableB。我想从tableA到tableB插入随机行,然后从tableA删除此行。我该怎么做?有可能吗?以下是我的插入代码,但我不知道如何删除此行。
INSERT INTO tableB
SELECT * FROM tableA ORDER BY RANDOM() LIMIT 1;
答案 0 :(得分:0)
您可以使用rowid
:
DELETE from tableA
WHERE elementA = (
SELECT elementA from tableB
WHERE rowid = (SELECT MAX(rowid) FROM tableB)
)
提供了elementA在两个表中都是唯一的,如果在INSERT语句之后执行该操作,它将在插入的行中找到elementA,并从具有该elementA的TableA中删除该行。