Я выполняю следующий запрос:
$sql ='UPDATE
Atable A INNER JOIN
Btable B ON A.name=B.name
SET
A.field=1
WHERE
B.field="wrong"; ';
Где B.field не является ключевым столбцом.
Верстак правильно останавливает это с ошибкой:
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 сможет обойти режим безопасного обновления?
Задача ещё не решена.
Других решений пока нет …