我在更新表中的多个列时遇到错误。这是我的代码:
UPDATE
products
SET
updated_at = 1520581005920, products."categoryId" = t."categoryId"
FROM
(VALUES (1,2),(3,4)) AS t (id,categoryId)
WHERE
products.id = t.id AND
products.store = 1
RETURNING
products.id,
products.title,
products.status,
products.condition,
products."productInfo",
products.price,
products.note,
products.created_at,
products.updated_at
错误是:operator doesn't exist: integer = record
。我该如何解决?
使用Knex.js创建表的代码:
await db.schema.createTable('products', function (table) {
table.increments()
table.string('title').notNullable()
table.enu('status', ['sold', 'ordered', 'in-stock']).notNullable()
table.enu('condition', ['used', 'new']).notNullable()
table.text('productInfo').defaultTo(null)
table.decimal('price').notNullable()
table.text('note').defaultTo(null)
table.bigInteger('created_at').notNullable()
table.bigInteger('updated_at').notNullable()
table.integer('categoryId').references('categories.id').notNullable()
table.integer('store').references('stores.id').notNullable()
})