我现在已经研究了一段时间了,还没有找到最好的方法。
我有一个MySQL dB。我需要一种方法在行进入第一个表后30分钟自动将一个表中的行移动到另一个表。
我知道scheduled_events是最好的方式,但我不确定GoDaddy是否支持它,因为它是共享主机。 (请记住,他们显然也不知道)
还有其他选择吗?我承认没有代码可以分享。
答案 0 :(得分:0)
time()
与1800秒不同(AKA 30分钟)的行并移动它们。因此,基本上对于#1,您可以在数据库中添加whentomove列后执行类似的操作:
$time = time();
mysqli_query($connection, "INSERT INTO oldtable (....,whentomove) VALUES (....., $time)");
或者通过PHPmyadmin将字段的默认值设置为CURRENT_TIMESTAMP
<?php
//Database connection stuff
$time = time() - 1800;
mysqli_query($connection, "INSERT INTO newtable SELECT * FROM oldtable WHERE whentomove < $time");
mysqli_query($connection, "DELETE FROM oldtable WHERE whentomove < $time");
?>
按照这些说明运行第二个脚本作为cron。祝你好运!