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

Doctrine2 không đặt trình tự thành mặc định cho cột id (postgres)

Từ tốt hướng dẫn sử dụng :

Họ đề xuất AUTO để có tính di động tối đa:

/**
 * @Id
 * @Column(type="integer", nullable=false)
 * @GeneratedValue
 */

Điều đó sẽ tạo ra và tạo ra một chuỗi cho bạn. Một giải pháp thay thế là yêu cầu một serial sử dụng cột IDENTITY chiến lược:

/**
 * @Id
 * @Column(type="integer", nullable=false)
 * @GeneratedValue(strategy="IDENTITY")
 */

Cái này sẽ tạo id của bạn cột là loại serial và PostgreSQL sẽ tạo chuỗi và thiết lập giá trị mặc định cho bạn.

Tài liệu chỉ ra rằng những gì bạn đang làm sẽ hoạt động nhưng tài liệu thường chỉ cung cấp một phiên bản thực tế được đơn giản hóa.

Thử sử dụng strategy="AUTO" . Nếu cách đó không hiệu quả, hãy thử strategy="IDENTITY" .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để kích hoạt trình kích hoạt khi kết thúc chuỗi cập nhật?

  2. RailsTutorial 3.2 Ch 11 - Lỗi cú pháp PostgreSQL phá vỡ nguồn cấp trạng thái

  3. chỉ mục dataframe.to_sql làm khóa chính trong postgresql

  4. Chọn (truy xuất) tất cả các bản ghi từ nhiều lược đồ bằng Postgres

  5. Cách truy vấn UUID cho postgres