Php 依赖嵌套select和delete MySQL语句中的多个表
我试图编写一个双MySQL查询,将一个表的内容归档到另一个表中,然后删除原始表中的原始行 我的基本查询在其他领域工作得很好。下面的查询依赖于第二个表来帮助选择需要归档和删除的行 我得到一个语法错误,其中AS出现在第一个查询的嵌套select中,而在delete查询中靠近AS 我已经研究并尝试了一系列不同的代码组合,但我无法让查询正常工作。查询是使用PDO用PHP编写的,因此请忽略PDO标记,它们不是问题所在Php 依赖嵌套select和delete MySQL语句中的多个表,php,mysql,sql,pdo,Php,Mysql,Sql,Pdo,我试图编写一个双MySQL查询,将一个表的内容归档到另一个表中,然后删除原始表中的原始行 我的基本查询在其他领域工作得很好。下面的查询依赖于第二个表来帮助选择需要归档和删除的行 我得到一个语法错误,其中AS出现在第一个查询的嵌套select中,而在delete查询中靠近AS 我已经研究并尝试了一系列不同的代码组合,但我无法让查询正常工作。查询是使用PDO用PHP编写的,因此请忽略PDO标记,它们不是问题所在 INSERT INTO usetwca (r_id, c_id, o_id, t_id,
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;
您应该在“用户会话练习”表上的“删除”前将其作为
触发器来实现
请看一看,这是一个很好的例子
这里有一个很好的关于使用的一般参考。我能够让我的查询正常工作
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 usetwc FROM usetwc INNER JOIN useo ON useo.o_id = usetwc.o_id AND useo.best_fit IS NULL WHERE usetwc.user_id = :user_id
你为什么没有在“users\u sessions\u Execution\u t\u ws\u correlation”表中的删除前将其作为触发器来实现呢?@Declan\u K你能详细说明一下吗?嗯,非常有趣,我在这个新项目中有大约50个存档/删除查询。我将进一步探讨MySQL触发器的概念。如果我决定不使用触发器,您知道如何修复上述查询吗?