mysql - 如何编写查询或过程

标签 mysql sql

我有两个表,一个主表,另一个审计表用于备份过程,如果仅在审计时删除记录...如果记录从审计中删除意味着则更新主表上的状态..... 例如表的表结构

id name status
==============
1 raj    1
2 arivu  0

例如审计表的表结构

id name status
==============
1 raj    1
2 arivu  0

此处状态 1 为事件状态,0 为非事件状态

如果我从审核表中删除记录 然后输出像 例如审计表的表结构

id name status
==============
1 raj    1

和 主表 例如审计表的表结构

id name status
==============
1 raj    1
2 arivu  2

如果从审计表中删除任何记录,记录状态为 0 或 1,只需将其更新为 2

现在我编写程序来解决问题,但我不知道如何在 php 页面上调用该程序 我的程序是这样的

分隔符$$

如果存在则删除程序用户 $$ CREATE DEFINER=root@localhost PROCEDURE users(在 id int(25) 中) 开始

从 person_history 中删除,其中 id=id ;

更新 person set active='2' where id=id ;

结束$$

分隔符;

最佳答案

在从审核表中删除记录之前,请将主表中的状态更新为 2,然后从审核表中删除该记录。这将解决您的问题。

例如:

更新:

UPDATE main 
SET    status = 2 
WHERE  id not in (SELECT id FROM audit) 

关于mysql - 如何编写查询或过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20489563/

相关文章:

php - 限制 while 循环

sql - 在SQL表中存储时间表可用性

SQL 服务器 : Convert months in calendar year to months in fiscal year

mysql - SQL SELECT 中的 IF…THEN 代码

mysql - 获取 MySQL 中现有行的插入语句

mysql - 如何在从 bash 执行 MySQL 查询时获取受影响的行数?

mysql - 无法打开 mysql.plugin 表。某些插件可能未加载

php - 如何在 PHP/PDO 中创建动态文本字段?

SQL连接问题

mysql - 仅选择第二个表中不存在的记录