哪个是避免重复插入的更好选择:删除和插入或检查和插入?

时间:2015-05-11 13:34:54

标签: mysql zend-framework

执行插入操作时遇到一个疑问。我想让记录保持独特。所以当插入记录时我正在执行delete()函数删除相同的记录(如果存在)然后使用insert()函数。但只是想到,如果我检查该记录是否存在,只有在找不到该记录时才插入。所以我可以避免delete()操作。那么哪个是更好的选择?

这是我的代码。

public function insertPostLike($postId = null, $userId = null) {

        //This is to avoid duplicate entry for same user.
        $this->_db->delete($this->_name, array(
                'post_id = ?' => $postId,
                'user_id = ?' => $userId));

        $result = '';

        $arrData = array(
            'post_id'     => $postId,
            'user_id'     => $userId,
            'liked_date'  => Zend_Date::now()->toString('yyyy:MM:dd HH:mm:ss')
        );

        if (!is_null($postId)) {
            $result = $this->insert($arrData);
        }

        return $result;
 }

我正在使用zend框架。

0 个答案:

没有答案