SQL使用insert select插入数据,select有多条但只成功了一条,其余失败,为什么?

sql语句:

insert into table1(tid,classid,itemid)              
select  tid,1,itemid from  table2 where tid<>0 and  itemid <>0  and   tid not in (select tid from table1)    

在存储过程里,连续多条insert select 语句,如上语句,操作同一张表的相同的字段,但插入的数据不同(查询条件不同)。

结果是:insert select 语句中明明有多个select结果,但只能成功插入一条;

我彻底搞不会了QAQ

求大神指点啊!!!
            

table1是否有主键或唯一约束。