谁一开始就是大神?

插入数据怎么使用replaceinto[2.0]

求大神指教 我现在操作数据库都是继承ActiveRecord

class UserWeibo extends ActiveRecord
{
	
	public static function tableName()
    {
    	return '{{%user_weibo}}';
    }

    /**
     * 添加
     */
    public function add($data) 
    {
        $this->setAttributes($data, false);

        if(self::find()->where(['id'=>$data['id']])->count() > 0) { //重复关注
            return $this->edit(['id'=>$data['id']], $data);
        }
        return $this->save();
    }
}

现在每次插入前都先判断下是否存在 我想改成用mysql的 replace into 求教应该怎么写

MySQL replace into 有三种形式:
第一种形式类似于insert into的用法,
第二种replace select的用法也类似于insert select,这种用法并不一定要求列名匹配,事实上,MYSQL甚至不关心select返回的列名,它需要的是列的位置。例如,replace into tb1( name, title, mood) select rname, rtitle, rmood from tb2;?这个例子使用replace into从?tb2中将所有数据导入tb1中。
第三种replace set用法类似于update set用法,使用一个例如“SET col_name = col_name + 1”的赋值,则对位于右侧的列名称的引用会被作为DEFAULT(col_name)处理。因此,该赋值相当于SET col_name = DEFAULT(col_name) + 1。
yii2 不支持吗?

赞(0) 打赏
未经允许不得转载:菜鸟之家 » 插入数据怎么使用replaceinto[2.0]

评论 抢沙发

登录

找回密码

注册