2017-10-10 53 views
2

我想更新從表withing單雄辯查詢中的所有記錄Laravel 5.4Laravel 5.4更新的表中的所有記錄,而無需使用WHERE子句

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

我期待這個查詢將更新從所有記錄表,但是這個查詢不起作用。它期望where子句和我不想放任何條件使用where子句,我只想更新表中的所有記錄。

我沒有從laravel文檔中得到任何答案。

表結構 enter image description here

回答

2

MySQL有一個安全更新服務模式,將不允許發生的更新,除非該語句具有WHERE條款涉及的主鍵。如果你的MySQL在這種模式下運行,那麼一個辦法欺騙它是使用WHERE id = id,像這樣:

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

我得到了這一點,所以它是強制性的放在哪裏查詢或其他查詢子句贏得」 t工作,謝謝 – dollar

+0

@dollar你也可以使用許多方法在MySQL中禁用安全更新。該模式可以幫助您避免進行意外更新,從而抹去表格。如果你是一個明智的MySQL用戶,那麼也許你可以關閉安全模式。 –

+0

感謝您的額外信息,我會堅持您的建議解決方案,而不是關閉MySQL中的安全模式。 – dollar

相關問題