我有两个结构相同的表。Table1
保存经过审核的数据,table2
保存其余数据。
表格1
+--------+--------+---------------+--------+-------- ---+ | “身份证” | “名字” | “说明” | “类型” | “国家” | +--------+--------+---------------+--------+-------- ---+ | "1" | “一个” | "x" | "1" | “美国” | | "2" | "b" | "x" | "1" | “英国” | +--------+--------+---------------+--------+-------- ---+
表 2
+-----+------------+-----------------+--------+--- --------+----------+ | “身份证” | “名字” | “说明” | “类型” | “国家” | “状态” | +-----+------------+-----------------+--------+--- --------+----------+ | "1" | “标题1” | “说明1” | "1" | “美国” | "2" | | "2" | “标题2” | 《说明2》 | "1" | “英国” | "2" | +-----+------------+-----------------+--------+--- --------+----------+
我运行下面的 sql 以table 1
使用来自 的数据进行更新table 2
,它运行良好。问题是,版主可以接受或拒绝更新。通过将status
in设置为table2
来接受更新0
。拒绝是通过将其设置为 来完成的1
。
仅当版主设置为 时,才需要进行从table1
到的更新。该状态来自一个 php 脚本,例如table2
status
0
updatestatus.php?status=0&id=1&country=US
可以做一个sql,如果传入status
where 0
thenupdate both tables elseif status = 1 then update only table2 set status = 1 where id=1 and country =us
UPDATE table1 a
INNER JOIN table2 b
ON a.id = b.id
SET a.name = b.name,
a.description = b.description
WHERE a.id=1;
它的方式是(大致):
$status = 0;//Php
//sql
if ($status = 0) then (run the above update)
elseif ($status = 1) then (run update for only table2)
我可以将 if 与表内的数据一起使用,但如何才能完成这样的事情呢?
注意
我不能使用触发器,因为我已经使用了after update
一个table2