我正在执行以下查询:
$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 将能够绕过安全更新模式?