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

postgreSQL:cách sao chép một hàng

Bạn cần tạo một ID mới cho hàng mới được chèn:

INSERT INTO web_book( 
   id, page_count, year_published, file, image, 
   display_on_hp, name, description, name_cs, 
   name_en, description_cs, description_en
)
SELECT nextval('web_book_id_seq'), 
       page_count, 
       year_published, 
       file, 
       image, 
       display_on_hp, 
       name, 
       description, 
       name_cs, 
       name_en, 
       description_cs, 
       description_en 
FROM web_book WHERE id=3;

Như đã đề cập bởi ClodoaldoNeto, bạn có thể làm mọi thứ dễ dàng hơn một chút bằng cách loại bỏ cột ID và để định nghĩa mặc định thực hiện công việc của nó:

INSERT INTO web_book( 
   page_count, year_published, file, image, 
   display_on_hp, name, description, name_cs, 
   name_en, description_cs, description_en
)
SELECT page_count, 
       year_published, 
       file, 
       image, 
       display_on_hp, 
       name, 
       description, 
       name_cs, 
       name_en, 
       description_cs, 
       description_en 
FROM web_book WHERE id=3;

Trong trường hợp này, bạn không cần biết tên trình tự (nhưng nó ít rõ ràng hơn một chút về những gì đang xảy ra).



  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ựa chọn hàng ngẫu nhiên nhanh chóng trong Postgres

  2. Lệnh kích thước DB của Postgres

  3. Làm cách nào để nhập mô-đun hoặc cài đặt tiện ích mở rộng trong PostgreSQL 9.1+?

  4. Lỗi khóa trong câu lệnh INSERT

  5. Làm cách nào để viết lại câu lệnh SELECT ... CROSS JOIN LATERAL ... cho các phiên bản PostgreSQL cũ hơn?