我试图在准备好的声明中做这样的事情:
UPDATE table SET active = ?, last_action = IF(VALUES(active) > 0, NOW(), last_action) WHERE id = ?
所以我试图访问我使用SET active =设置的值?在同一个查询中。
但VALUES(有效)似乎不代表active =的值? 是否有任何方法可以使这个工作就像当值是INSERT INTO [...] VALUES [...] ON DUPLICATE KEY UPDATE ...语句的一部分时那样?
可能的解决方案:添加另一个参数如下:IF(?> 0,NOW(),last_action)并将其设置为与active =相同的值?参数。
有没有更好的解决方案不需要我将相同的值绑定到另一个参数?