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

Làm cách nào để thêm một Cột mới trong bảng sau cột thứ 2 hoặc thứ 3 trong Bảng bằng cách sử dụng postgres?

Không, không có cách nào trực tiếp để làm điều đó. Và có lý do cho điều đó - mọi truy vấn nên liệt kê tất cả các trường mà nó cần theo bất kỳ thứ tự nào (và định dạng, v.v.) mà nó cần, do đó làm cho thứ tự của các cột trong một bảng trở nên không đáng kể.

Nếu bạn thực sự cần làm điều đó, tôi có thể nghĩ ra một cách giải quyết:

  • kết xuất và lưu mô tả của bảng được đề cập (sử dụng pg_dump --schema-only --table=<schema.table> ... )
  • thêm cột bạn muốn vào nơi bạn muốn trong định nghĩa đã lưu
  • đổi tên bảng theo định nghĩa đã lưu để không trùng với tên của bảng cũ khi bạn cố gắng tạo nó
  • tạo bảng mới bằng cách sử dụng định nghĩa này
  • điền vào bảng mới với dữ liệu từ bảng cũ bằng cách sử dụng 'INSERT INTO <new_table> CHỌN field1, field2, <default_for_new_field> , field3, ... FROM <old_table> ';
  • đổi tên bảng cũ
  • đổi tên bảng mới thành tên ban đầu
  • cuối cùng bỏ bảng cũ, đã đổi tên sau khi bạn đảm bảo rằng mọi thứ đều ổ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. Hibernate UUID với PostgreSQL và SQL Server

  2. Tổng quan về các phương thức JOIN trong PostgreSQL

  3. LỖI:chuỗi được trích dẫn chưa kết thúc tại hoặc gần

  4. CTE đệ quy nối các trường với cha mẹ từ điểm tùy ý

  5. Cách hoạt động của hàm Sign () trong PostgreSQL