我有一个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