我有一個10列和24行可以存儲值或可以= 0的表。它們被稱爲msg1,msg2 ...高達msg10。 我正在寫一個查詢來更新此表,而不是任何字段中的特定值。mysql縮水where子句
所以我寫了(59是一個測試值,將被PHP dinamically更新):
UPDATE schedule SET msg1='0' WHERE msg1='59' OR SET msg2='0' WHERE msg2='59'....
OR SET msg10='0' WHERE msg10='59'
這顯然是不工作的,反正是我所見過的低效率的查詢之一。所以問題是:什麼是迭代遍歷所有行和列的巧妙方式,尋找特定值(即59),如果是,則將其更改爲0?
我知道我可以使用for循環來做到這一點,但最終每次都會做24個查詢......效率也不高!
'這顯然不起作用,無論如何將是效率不高的查詢之一',如果查詢不起作用,你怎麼知道它的效率是否低於時間? –
看看使用「案例」,它相當方便... https://dev.mysql.com/doc/refman/5.0/en/case.html – dbinns66
看到正常化。見正常化。見正常化。 – Strawberry