3
有沒有辦法在更新查詢本身之前獲取值並更新查詢?更新前獲取字段值
例如:
UPDATE t SET field1 = 'new', field2 = IF (field2 = field1, 'new', field2))
在 'FIELD2 = field1的' 我想檢查字段的先前值。 Mysql的工作方式,它更新field1,然後將與新值進行比較,因此比較總是「IF(field2 ='new',...」
所以我想要像
UPDATE t SET field1 = 'new', field2 = IF (field2 = PREVIOUS_VALUE(field1), 'new', field2))
更新時間:
交換可能無法在更復雜的例子,有時工作,當我想它是這樣的:
UPDATE t SET field1 = IF (field1 = PREVIOUS_VALUE(field2), 'new', field1)), field2 = IF (field2 = PREVIOUS_VALUE(field1), 'new', field2))