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

Vị trí cột id trong Postgresql có quan trọng không?

Về lý thuyết thì mọi thứ đều ổn, nhưng luôn có những trường hợp khi mã của bạn có thể bị lỗi.

Ví dụ:

a) blind insert :

 INSERT INTO tab_name
 VALUES (1, 'b', 'c');

Chèn mù là khi truy vấn CHÈN không chỉ định cột nào nhận dữ liệu được chèn.

Tại sao điều này là một điều tồi tệ?

Vì lược đồ cơ sở dữ liệu có thể thay đổi. Các cột có thể được di chuyển, đổi tên, thêm hoặc xóa. Và khi đúng như vậy, một trong ít nhất ba điều có thể xảy ra:

  1. Truy vấn không thành công. Đây là tình huống tốt nhất. Ai đó đã xóa một cột khỏi bảng đích và bây giờ không có đủ cột để chèn vào hoặc ai đó đã thay đổi loại dữ liệu và loại được chèn không tương thích, v.v. Nhưng ít nhất dữ liệu của bạn không bị hỏng và thậm chí bạn có thể biết sự cố tồn tại do thông báo lỗi.

  2. Truy vấn tiếp tục hoạt động và không có gì sai. Đây là trường hợp trung bình-xấu nhất. Dữ liệu của bạn không bị hỏng nhưng những con quái vật vẫn ẩn náu dưới gầm giường.

  3. Truy vấn tiếp tục hoạt động, nhưng bây giờ một số dữ liệu đang được chèn vào một nơi nào đó mà nó không thuộc về. Dữ liệu của bạn đang bị hỏng.

b) ORDER BY oridinal

SELECT *
FROM tab
ORDER BY 1;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Heroku Rails 4 không thể kết nối với máy chủ:kết nối bị từ chối

  2. Truy vấn N hàng liên quan cuối cùng trên mỗi hàng

  3. Cập nhật một cột của một bảng với một cột của một bảng khác trong PostgreSQL

  4. Làm cách nào để lấy giá trị từ hàng được chèn cuối cùng?

  5. Java - ngày được lưu như một ngày trước đó