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

PostgreSQL - giá trị nối tiếp tiếp theo trong bảng

Nếu bạn muốn xác nhận ID và trả lại, bạn có thể sử dụng nextval () , giúp nâng cao trình tự mà không cần chèn bất kỳ dữ liệu nào.

Lưu ý rằng nếu đây là SERIAL , bạn cần tìm tên của trình tự dựa trên bảng và tên cột, như sau:

Select nextval(pg_get_serial_sequence('my_table', 'id')) as new_id;

Không có gì đảm bảo chính xác rằng bạn sẽ thấy các ID này quay trở lại theo thứ tự (trình tự tạo chúng theo thứ tự, nhưng nhiều phiên có thể yêu cầu một ID và chưa sử dụng nó hoặc khôi phục lại một mã INSERT và ID sẽ không được sử dụng lại) nhưng có sự đảm bảo rằng chúng sẽ là duy nhất, đây thường là điều quan trọng.

Nếu bạn làm điều này thường xuyên mà không thực sự sử dụng ID, cuối cùng bạn sẽ sử dụng hết tất cả các giá trị có thể có của số nguyên 32 bit (tức là đạt đến số nguyên có thể biểu diễn tối đa), nhưng nếu bạn chỉ sử dụng nó khi có nhiều khả năng bạn sẽ thực sự chèn một hàng với ID đó thì điều đó sẽ ổ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. Tại sao giao dịch PostgreSQL này đưa ra CẢNH BÁO:không có giao dịch nào đang diễn ra

  2. Giải quyết các hạn chế duy nhất của Sequelize trong các hiệp hội thuộc về ToMany

  3. PostgreSQL - FATAL:Xác thực danh tính không thành công cho người dùng myuser

  4. Làm thế nào để cấu hình Postgresql với dự án rails?

  5. Ví dụ về câu lệnh INSERT đã chuẩn bị sử dụng viên ngọc ruby ​​pg