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

Sequelize upsert () không bao giờ cập nhật và chỉ chèn

Trong ví dụ upsert () của bạn, bạn không cung cấp id của mục nhập vào phương thức upert. Điều này có nghĩa là kích thước phần tiếp theo không thể khớp với id vào một hàng (vì id là không xác định) và do đó nó sẽ chèn một hàng mới.

Ngay cả khi bạn sử dụng một khóa chính khác, nó phải luôn là một thuộc tính để nó khớp vì phần tiếp theo sử dụng khóa chính để tìm kiếm một hàng hiện có.

createOrUpdateTransaction: {
    type: Transaction,
    args: {
        // Omitted code...
    },
    resolve: (root, args) => {
        return db.models.transaction.upsert({
            // The id property must be defined in the args object for 
            // it to match to an existing row. If args.id is undefined 
            // it will insert a new row.
            id: args.id, 
            time: new Date().toString(),
            payerAccountNumber: args.payerAccountNumber,
            recipientAccountNumber: args.recipientAccountNumber,
            amount: args.amount,
            currency: args.currency,
            paymentMethod: args.paymentMethod,
            cardNumber: args.cardNumber,
            cardName: args.cardName,
            cardNetwork: args.cardNetwork,
            // Omitted fields ...
        })
    }
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các lượt xem postgres không được rspec nhận dạng

  2. Rails &Postgres:Không thể truyền di chuyển sang change_colomn gây ra lỗi để nhập dấu thời gian không có múi giờ

  3. Python + PostgreSQL + lạ ascii =lỗi mã hóa UTF8

  4. Hàm với truy vấn SQL không có đích cho dữ liệu kết quả

  5. Làm cách nào để truyền một bản ghi làm tham số cho hàm PL / pgSQL?