PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Khởi động lại số khóa chính của các hàng hiện có sau khi xóa hầu hết một bảng lớn

Thả cá khóa chính và tạo một chuỗi tạm thời.

alter table mytable drop constraint mydata_pkey;
create temporary sequence temp_seq;

Sử dụng trình tự để cập nhật:

update mytable
set id = nextval('temp_seq');

Tạo lại khóa chính và bỏ trình tự

alter table mytable add primary key (id);
drop sequence temp_seq;

Nếu có một phụ thuộc khóa ngoại trên bảng này thì bạn sẽ phải xử lý nó trước tiên và cập nhật sẽ là một thủ tục phức tạp hơn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java Crosstab - câu lệnh chuẩn bị truy vấn

  2. Thêm các Truy vấn PostgreSQL Yêu thích của Tôi - và Tại sao Chúng Cũng Quan trọng

  3. Làm thế nào để nâng cấp DataFrame của gấu trúc vào bảng PostgreSQL?

  4. Có cách nào để tắt cập nhật / xóa nhưng vẫn cho phép trình kích hoạt thực hiện chúng không?

  5. Java + SSH + Postgres