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

Tại sao các chuỗi không được cập nhật khi COPY được thực hiện trong PostgreSQL?

Bạn hỏi:

Có, bạn nên như ghi lại ở đây :

Bạn viết:

Nhưng đó không phải là như vậy! :) Khi bạn thực hiện CHÈN thông thường, thông thường bạn không chỉ định giá trị rõ ràng cho khóa chính được hỗ trợ bởi SEQUENCE. Nếu bạn đã làm vậy, bạn sẽ gặp phải những vấn đề giống như bạn đang gặp phải bây giờ:

postgres=> create table uh_oh (id serial not null primary key, data char(1));
NOTICE:  CREATE TABLE will create implicit sequence "uh_oh_id_seq" for serial column "uh_oh.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "uh_oh_pkey" for table "uh_oh"
CREATE TABLE
postgres=> insert into uh_oh (id, data) values (1, 'x');
INSERT 0 1
postgres=> insert into uh_oh (data) values ('a');
ERROR:  duplicate key value violates unique constraint "uh_oh_pkey"
DETAIL:  Key (id)=(1) already exists.

Tất nhiên, lệnh COPY của bạn đang cung cấp một id rõ ràng giá trị, giống như ví dụ INSERT ở trê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. Làm thế nào để bạn xác định các hàm postgres trong Rails và phạm vi cũng như thời gian tồn tại của chúng là gì?

  2. Cải tiến phân vùng trong PostgreSQL 11

  3. Ngày gia tăng PostgreSQL?

  4. Postgres pg_dump kết xuất cơ sở dữ liệu theo một thứ tự khác nhau mọi lúc

  5. Sự trừu tượng hóa cơ sở dữ liệu Java cho GWT (hoặc:Hibernate có phải là một lựa chọn tốt không?)