我想用某些规则更新MySQL表。我有3列:ID, Name, Checked
,我想将Name
更新为所有行,其中Checked = 0
。在另一张表中,我列出了从中提取名称的“名称”。
这可能与一个UPDATE
查询有关吗,还是我需要使用一些循环?如果说我有11行要更新,但是我有10个名称,查询如何更新这些字段,会不会有问题。
答案 0 :(得分:0)
我找到解决方法:
UPDATE `table` SET `ID` = (select `ID` from `name` ORDER BY rand() LIMIT 1) WHERE `Lock_ID` = 0
此查询将随机使用其他表中的名称并对其进行更新(这是99%正确的解决方案),它将重新分配每行几乎相同的名称。