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

Sự cố khi truy xuất bản ghi có mảng trống

Trong Rails 4, bạn có thể sử dụng User.where.not(id: []) mà sẽ cung cấp cho bạn kết quả chính xác. Nó tạo ra:

SELECT "users".* FROM "users" WHERE (1 = 1)

Rất tiếc, User.where('id NOT IN (?)', []) nên là tương đương nhưng nó không phải là. Nó vẫn cho bạn kết quả sai:

SELECT "users".* FROM "users" WHERE (id NOT IN (NULL))

Tài liệu tham khảo:

  • https://github.com/rails/rails/issues/778
  • https://github.com/rails/arel/commit/cbff1bcf
  • https://github.com/rails/rails/pull/8332
  • https://github.com/rails/rails/commit/8d02afeaee8993bd0fde69687fdd9bf30921e805


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn postgresql giữa các phạm vi ngày

  2. chuỗi postgresql nextval trong giản đồ

  3. fe_sendauth:không cung cấp mật khẩu

  4. Vai trò không tồn tại và không thể tạo cơ sở dữ liệu khi sử dụng PostgreSQL

  5. Dự phòng &Dự phòng cho PostgreSQL trên Microsoft Azure