有没有办法在更新查询本身之前获取值并更新查询?
例如:
UPDATE t SET field1 = 'new', field2 = IF (field2 = field1, 'new', field2))
Run Code Online (Sandbox Code Playgroud)
在'field2 = field1'中,我想检查字段的先前值.Mysql以这样的方式工作,它更新field1然后将与新值进行比较,因此比较总是"IF(field2 ='new',..."
所以我想要类似的东西
UPDATE t SET field1 = 'new', field2 = IF (field2 = PREVIOUS_VALUE(field1), 'new', field2))
Run Code Online (Sandbox Code Playgroud)
更新:
当我想要这样时,交换可能无法在更复杂的示例中工作:
UPDATE t SET field1 = IF (field1 = PREVIOUS_VALUE(field2), 'new', field1)), field2 = IF (field2 = PREVIOUS_VALUE(field1), 'new', field2))
Run Code Online (Sandbox Code Playgroud) <div>
<a>abc</a>
xyz
</div>
Run Code Online (Sandbox Code Playgroud)
鉴于上面的HTML结构,$divElement->nodeValue当我想只获得'xyz'时,返回'abc xyz'.$divElement->getAttribute('value')是空的.
如何在不删除<a>元素的情况下获得'xyz' ?