我正在尝试编写一个双 MySQL 查询,它将一个表的内容存档到另一个表,然后删除原始表中的原始行。
我的基本查询在其他领域工作得很好。下面的查询依赖于第二个表来帮助选择需要归档和删除的行。
我收到语法错误,其中 AS 出现在第一个查询的嵌套选择中,并且在删除查询中的 AS 附近。
我已经研究和研究并尝试了一堆不同的代码组合,但我无法让查询正常工作。查询是使用 PDO 用 PHP 编写的,所以请忽略 PDO 标签,它们不是问题。
INSERT INTO usetwca (r_id, c_id, o_id, t_id, s_id, ip_address, timestamp, timestamp_archived) SELECT :r_id, usetwc.c_id, usetwc.o_id, usetwc.t_id, usetwc.s_id, usetwc.ip_address, usetwc.timestamp, :timestamp FROM usetwc JOIN useo ON useo.o_id = usetwc.o_id AND useo.best_fit IS NULL WHERE usetwc.user_id = :user_id;
DELETE FROM usetwc JOIN useo ON useo.o_id = usetwc.o_id AND useo.best_fit IS NULL WHERE usetwc.user_id = :user_id;