SELECT setval('tablename_id_seq', (SELECT MAX(id) FROM tablename)+1) 主要是:serial key其实是由sequence实现的,当你手动给serial列赋值的时候,sequence是不会自增量变化的。最好不要给serial手工赋值