2

我正在执行以下查询:

        $sql ='UPDATE 
            Atable  A INNER JOIN 
            Btable  B ON A.name=B.name
        SET 
            A.field=1
        WHERE
            B.field="wrong"; '; 

其中 B.field 不是 Key 列。Workbench 正确停止它并出现错误:

   Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.

但是,如果我使用 Laravel Eloquent 执行上述查询:

 $affected = DB::update(DB::raw($sql2));

查询将运行,所以我缺少 Eloquent 的任何安全用法,或者一般来说您需要小心,因为 Eloquent 将能够绕过安全更新模式?

4

0 回答 0