2010-04-05 65 views
0

用于准备好的语句有选择地更新准备好的语句

更新表t set a =? ,b =?我在哪里?

列a留列a ie。 a = a并且只需要为b设置int,反之亦然,无需另外声明。有没有一个简洁的方式来做到这一点?

回答

0

你可以试试这个:

UPDATE TableT 
SET a = COALESCE(?, a), 
    b = COALESCE(?, b) 
WHERE i = ? 

留下的值不变,简单地传递NULL中当然,如果你真的想将值设置为NULL,你不能使用这种方法。