Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何从SQL中的update语句中访问update值_Mysql_Sql Update_Prepared Statement - Fatal编程技术网

Mysql 如何从SQL中的update语句中访问update值

Mysql 如何从SQL中的update语句中访问update值,mysql,sql-update,prepared-statement,Mysql,Sql Update,Prepared Statement,我试图在一份事先准备好的声明中这样做: UPDATE table SET active = ?, last_action = IF(VALUES(active) > 0, NOW(), last_action) WHERE id = ? 因此,我试图访问设置为SET active=?的值?在同一个查询中 但是,值(活动)似乎并不表示活动=? 当值是插入到[…]值[…]的一部分时,是否有任何方法可以使其像在重复键更新时那样工作。。。声明 可能的解决方案:添加另一个如下参数:IF(?>0,N

我试图在一份事先准备好的声明中这样做:

UPDATE table SET active = ?, last_action = IF(VALUES(active) > 0, NOW(), last_action) WHERE id = ?
因此,我试图访问设置为SET active=?的值?在同一个查询中

但是,值(活动)似乎并不表示活动=? 当值是插入到[…]值[…]的一部分时,是否有任何方法可以使其像在重复键更新时那样工作。。。声明

可能的解决方案:添加另一个如下参数:IF(?>0,NOW(),last_action),并将其设置为与active=?参数


有没有更好的解决方案不需要我将相同的值绑定到另一个参数?

绑定相同的值有什么问题?没有什么问题,但我认为如果重复密钥更新时插入提供了此功能,那么简单的更新语句中可能也有类似的功能。这是此类信息的最佳来源(如果这种情况让您感到非常困扰的话)是mysql manual for UPDATE语句。我相信,不管它们有什么帮助函数,都列在这里。因为我没有在mysql页面上的DUPLICATE KEY UPDATE中找到一个关于使用值进行插入的词,我想可能有一些类似的更新结构。(我知道在重复密钥更新时有一个额外的插入页)