php - 依赖嵌套 select 和删除 MySQL 语句中的多个表

标签 php mysql sql pdo

我正在尝试编写一个双 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;

最佳答案

您应该将其实现为“users_sessions_exercise_t_ws_correlation”表上的 BEFORE DELETE 触发器。

看看this answer就是一个很好的例子。

这是关于使用 Triggers for Logging 的一个很好的一般引用.

关于php - 依赖嵌套 select 和删除 MySQL 语句中的多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18388663/

相关文章:

php - 将所有图像从 mysql 数据库 blob 提取到目录

sql - 使用子查询进行分组

javascript - PHP 和 Angular $http ajax 的问题

php - 帮我从多维 PHP 数组中获取一个值

php - Kohana 2 ORM 自定义主键生成错误

mysql - 如何将rails应用程序中的mysql与docker连接?

sql - varchar 的最大长度是多少(doctrine :string) in Doctrine 2 or SQL?

php - 自动记录PHP中的所有错误,警告和通知

php - 具有 3 个字段的高级搜索,需要查询

mysql - 在 codeigniter 中将 Controller 中的值作为 JSON 传递以查看 Angular Js 上包含的内容