检查列是否为空,然后进行更新

时间:2014-06-07 20:11:47

标签: php mysql sql

伙计们,我有一个大型数据库,所以当我想完全更新我的一些列时,我有超时错误(我尝试一些方法来增加超时和失败)但我的问题是我想绕过这个问题我想更新我的空某些表中的列。所以我想使用这个查询代码,但我有空白页面没有错误可以有人告诉我有什么问题,或者如果可能的请求告诉我一个好的方法。

    $sql = 'SELECT topic_first_poster_avatar FROM ' . TOPICS_TABLE . ' WHERE topic_poster = ' . (int) $row['user_id'] . 'IF topic_first_poster_avatar = "" 
        SET topic_first_poster_avatar =  \'' . $db->sql_escape($avatar_info);
    $db->sql_query($sql);

1 个答案:

答案 0 :(得分:0)

正如plalx在评论中所说,你不需要SELECT或IF,你可以为更新语句指定WHERE并且与AND / OR有多个约束。

$sql = "UPDATE ". TOPICS_TABLE ." 
       SET topic_first_poster_avatar =  '" . $db->sql_escape($avatar_info) ."'
       WHERE topic_poster = " . (int) $row['user_id'] . " AND topic_first_poster_avatar = ''";