我有Mysql查询,它可以同时更新多个记录
UPDATE Settings
SET value = (case when property_Name = 'p1' then 'updated p1'
when property_Name = 'p2' then 'updated p2'
when property_Name = 'p3' then 'updated p3'
end)
WHERE property_Name in ('p1', 'p2', 'p3') AND vendor_Id = 5;
如何使用Bookshelf.js / knex在更新查询中编写大小写?
一种方法是在
中编写整个查询knex.raw('UPDATE Settings
SET value = (case when property_Name = 'p1' then 'updated p1'
when property_Name = 'p2' then 'updated p2'
when property_Name = 'p3' then 'updated p3'
end)
WHERE property_Name in ('p1', 'p2', 'p3') AND vendor_Id = 5;');
还有没有其他方法可以使用Bookshelf.js编写查询(避免使用knex.raw())?
答案 0 :(得分:0)
我不知道如何避免 knex ,但是您不需要case语句。
knex.raw('UPDATE Settings
SET value = CONCAT('updated ',property_Name)
WHERE property_Name in ('p1', 'p2', 'p3') AND vendor_Id = 5;');