将数据从一个表转移到另一个表并删除任何重复

时间:2013-12-27 15:41:39

标签: php mysql

我有两张桌子:标记& user_student 。我想从user_student获取列数据'sid'并将其插入表'marks'列'stud_id'。这是我的代码

$query= "REPLACE INTO marks (stud_id)SELECT sid FROM user_student";

        mysql_query($query) or die('An Error occurred' .mysql_error());

现在的问题是我每次都需要执行此查询,我不希望它复制数据,而只是在有新数据时插入,否则什么都不做。我也尝试 INSERT IGNORE ,但没有结果。请帮忙

1 个答案:

答案 0 :(得分:2)

仅插入尚未插入的sid个。{p>您需要另一个子查询从您插入的同一个表中进行选择以欺骗MySQL:

insert into marks (stud_id)
select sid 
from user_student
where sid not in 
(
    select * from (select distinct stud_id from marks) alias_name
)