2014-01-24 54 views
0

我目前在做我的应用程序代码:只有当新值大于列中的现有值时,我如何更新行?

date = obj->execute("SELECT date FROM table WHERE id=123"); 
if(date < someDate) { 
    obj->executeUpdate("UPDATE table set date=? where id=123",someDate); 
} 

即只有在我的应用程序中小于某个新的日期变量时,我才会更新date
有没有办法直接在SQL中做到这一点?
例如是这样的:

UPDATE table 
set date = IF(date < ?, date, ?) where id = 123 

凡是工作准备好的声明,无论

回答

0
UPDATE table SET date=value WHERE date<value AND id=123; 
0

只需添加一个地方标准:

UPDATE table SET date = ? WHERE ID = 123 AND date < ?; 
相关问题