我正在尝试将所有数据从一个表移动到另一个表,并且它上面的那个位工作正常,我遇到问题的部分就是从旧表中删除数据。我把hYSe放在一起的MYSQL查询在PHPMyAdmin上作为SQL查询运行正常,但由于某些原因,如果我从我的网页运行它,我会在第2行给出错误。请从网站上查看以下查询。
if($old == 'Yesterday'){
$movequery = "INSERT INTO yesthistory select * from history;
TRUNCATE TABLE history";
if (!mysqli_query($con2, $movequery))
{
echo("Error description: " . mysqli_error($con2));
}
答案 0 :(得分:0)
因为您在单个查询中执行了由semiclon分隔的2个操作,所以查询应为此
$movequery1 = "INSERT INTO yesthistory select * from history";
$movequery2 = "TRUNCATE TABLE history";
然后逐个运行这些查询。
答案 1 :(得分:0)
根据您声明中的WHERE
子句,每天使用event scheduler来运行作业:
CREATE EVENT archive_history
ON SCHEDULE EVERY 1 DAY
COMMENT 'archives claims older than their expiry date'
DO
BEGIN
INSERT INTO yesthishistory SELECT * FROM history WHERE ....
DELETE FROM history WHERE ....
END
如果它每天只运行一次(因为您的到期逻辑中没有更精细的时间分辨率),那么每次运行修改时都不会让性能大幅下降。