serial
cột chỉ vẽ số tiếp theo từ một chuỗi theo mặc định . Nếu bạn ghi giá trị vào nó, giá trị mặc định sẽ không hoạt động. Bạn chỉ có thể COPY vào bảng ( xem câu trả lời của @Saravanan
) và sau đó cập nhật trình tự cho phù hợp. Một cách để làm điều này:
SELECT setval('tbl_tbl_id_seq', max(tbl_id)) FROM tbl;
tbl_id là cột nối tiếp của bảng tbl , vẽ từ chuỗi tbl_tbl_id_seq (tên mặc định).
Tốt nhất trong một giao dịch duy nhất trong trường hợp tải đồng thời.
Lưu ý, ở đây không có lỗi off-by-1. Theo tài liệu:
Điểm nhấn đậm của tôi.