insert into t1
       select f1,f2,
              a.`a1`,
              a.`a2`,
              a.`a3`,
              0 ,NULL
       from t2 a
       where  a.`d`=d;
       
       我发现问题来自上述语句。
       
       t1 最后1列是autoincrement。
       显然,应该是 t2表中返回多行时出错的。
       
       但是比较恶心的是,不是每次都出错。