应用MySql后删除插入表语句

时间:2019-01-28 10:20:10

标签: mysql

我将几个较小的表插入到较大的表中。

例如,如果过了一段时间,我想从大表(MI_TOTAL)中删除数据,而只有与一个小表相对应的数据,例如(MI_APR),可以这样做吗?

小表(MI_APR)中没有一列可以区分其他小表。

INSERT INTO MI_TOTAL
SELECT * FROM MI_APR;
INSERT INTO MI_TOTAL
SELECT * FROM MI_MAY;

1 个答案:

答案 0 :(得分:2)

例如,即使它是带有“加载日期”的日期列,您也需要在MI_TOTAL中的列中标识其来源。如果子表包含的名称唯一的日期,即MI_APR只有4月的日期,则可以使用该日期:

DELETE FROM MI_TOTAL WHERE MONTH(MI_TOTAL.datecol)=4

子表似乎与月份相关,所以为什么不添加Int列来保存与插入数据相关的月份,则变得很容易。或一个带有源表名称的字符串列是真正明确的:

DELETE FROM MI_TOTAL WHERE source='MI_APR';

这种方法的优势在于,您也可以使用此列过滤TOTAL表中的所有搜索内容