2017-10-10 12 views
2

私はこのクエリはからすべてのレコードを更新することを期待していLaravelで5.4Laravel 5.4更新使わずにテーブルのすべてのレコードwhere句

Currency::update(['default'=>0]); 

を単一雄弁なクエリをwithingテーブルからすべてのレコードを更新しようとしていますこのクエリは機能していません。 Where節と私はwhere節を使用して条件を設定したくないと思っています。テーブル内のすべてのレコードを更新したいだけです。

私はlaravelのドキュメントから回答がありません。

テーブル構造 enter image description here

答えて

2

MySQLはステートメントは、主キーを含むWHERE句を持っていない限り、更新が発生することはできません安全なアップデートサーバモードを備えています。あなたのMySQLがこのモードで実行されている場合、それはWHERE id = idを使用することです偽装するための一つの方法、このような何か:

DB::table('Currency') 
     ->where('id', 'id') 
     ->update(['default' => 0]); 
+0

私はこれを得たので、クエリまたは他のクエリウォン」でwhere句を置くことは必須ですありがとうございました – dollar

+0

@dollar MySQLの安全なアップデートを無効にするには、いくつかの方法があります。このモードは、テーブルを拭き取る偶発的なブランケット更新を避けるのに役立ちます。あなたが賢明なMySQLユーザーであれば、おそらくセーフモードをオフにすることができます。 –

+0

追加情報をありがとう、MySQLのセーフモードをオフにするのではなく、あなたの提案された解決策に固執します。 – dollar

関連する問題