这个是因为每个表的主键都具有唯一性,也就是说如果之前主键中已经有这个数值了,那么在此插入的时候就会报这个错误,实际上是保护数据的唯一性的一种做法。举例(字段名是主键):insert into 表名(字段名) values( 1111);以上语句正常插入。commit;insert into 表名(字段名) values( 1111);此时就会报违反唯一性约束。