我是整个数据库管理游戏的新手,所以如果我对此完全不了解,并且有更好的方法可以做到这一点,请告诉我。
我有一个R脚本,可用于将一堆每周报告汇总到一个表中。我正在尝试在MySQL中设置数据存储,但是不确定如何使INSERT
自动工作。
R的输出表是一周的数据。
现在,我在MySQL中有两个表,我们将它们称为Main
和NewWeek
。
NewWeek
是我从R发送输出的地方,我实际上需要这样做:
/* delete any data already imported from NewWeek */
DELETE FROM Main
WHERE Main.`Date` = (SELECT max(Date) FROM NewWeek);
INSERT INTO Main Select * FROM NewWeek;
而且,我每次更改NewWeek
(即,每次运行R脚本)时都需要运行该查询,由于我们获取了更多数据,因此可能需要在一周内多次运行插入操作,因此需要DELETE
语句,以确保我们不会创建重复项。
我正在通过Amazon RDS运行MySQL,我相信这会给使用触发器带来一些挑战,因此我不确定这是否是一个选择。
答案 0 :(得分:0)
当您开始随机移动表之间的(相等)数据时,数据库布局很可能出了点问题。
在您的情况下,我建议以下内容:
因此,每条“记录”都将添加“ approved = false”-每周一次,当您对数据感到满意时,您只需将该列更新为“ true”即可。