如何自动保存其他表中的数据
问题描述:
我有一个问题,我需要帮助,有没有办法,如果我点击锁定按钮,表vote_logs
上不存在的学生会自动放入其他表是unvoted_logs(table)
,。例如在学生表中有一个idno c120-115
,它也被保存在表vote_logs
我的问题是,如果投票是时间到了然后点击lock.php的按钮,我希望它会自动把学生记录没有存在于表vote_logs
至unvoted_logs
中。需要一些帮助球员如何自动保存其他表中的数据
这里是我的lock.php:
<?php
include '../connection/connect.php';
include '../dbcon.php';
$stat='lock';
$sqla = "UPDATE student SET status=?";
$qa = $db->prepare($sqla);
$qa->execute(array($stat));
//here is the part where I want to store the student who didn't exist in vote_logs
$stud = mysql_query(" SELECT st.* FROM student st LEFT JOIN studentvotes sv ON st.idno = sv.idno AND st.syearid = sv.syearid
WHERE sv.idno IS NULL AND st.syearid = '$no' AND user_type='3'") or die(mysql_error());
//should I put insert? don't what's next
Header ('Location:lock_unlock.php');
?>
答
我相信使用触发器是你的问题的最佳解决方案。请阅读这篇文章。
Using MySQL triggers to log all table changes to a secondary table
我只是把链接,因为那里是如何使互联网的注册与登录触发器的例子很多。
答
这是另一个建议,这可能是答案。使用
的mysqldump -u ... ... -p mydb的T1 T2 T3> mydb_tables.sql
无论是写在PHP或bash和在crontab中文件夹拖拽它,所以它会自动备份表。您还可以使用crontab -e
来设置备份间隔。
请向我们展示您尝试过的方法,并且可以请您尝试更好地设置您的问题的格式?真的很难理解你想要什么;) –
你更喜欢纯PHP还是使用SQL存储过程? – FrozenFire
如果您想要自动保存,如果在一个表上执行操作以便对另一个表执行操作,则考虑使用触发器。似乎是这里的情况。 –