mysql 中执行 insert into  时报错: Column count doesn't match value count at row 1

经检查发现是因为列数和表中的列数不对应导致 的(比如想要插入的数据没有自增列),此时就应该指定个字段的列名。

报错之前:

" insert into locus_bycar_detail " +

" select b.bid,cast(b.score as signed ) as sid,b.travel_date,b.violation_count,b.fault_count,b.mileage , b.avgspeed " +

" from ( " +

" select a.* from temp_bycar_3 a left outer join locus_bycar_detail b on " +  

" a.bid=b.bid and a.travel_date=b.travel_date where b.bid is null ) b " ;

修改后如下:

" insert into locus_bycar_detail (bid,sid,travel_date ,violation_count,fault_count,mileage,avgspeed) " +

" select b.bid,cast(b.score as signed ) as sid,b.travel_date,b.violation_count,b.fault_count,b.mileage , b.avgspeed " +

" from ( " +

" select a.* from temp_bycar_3 a left outer join locus_bycar_detail b on " +  

" a.bid=b.bid and a.travel_date=b.travel_date where b.bid is null ) b " ;


只需要把各字段对应就行了 ,自增列在插入时生成。