我以前在下面提出了这个查询的帮助,但现在我注意到它无法正常工作。似乎它只是在检查father.Blood而不是母亲和父亲时更新
update DB1 p join
DB1 father
on father.id = p.father_id and father.Blood = 'A_test' join
DB1 mother
on mother.id = p.mother_id and mother.Blood = 'A_test'
set p.Blood = 'B_result';
所以我希望孩子(p.Blood)用'B_result'更新,只要父亲和母亲有'A_test'值
我还尝试将父值设置为C_test,将母值设置为F_test,并希望将p.Blood设置为G_result,但是当我在运行此查询后检查更新的行时,我看到p.Blood已使用G_result更新但父亲和母亲的价值与我说的不符。
前:
update DB1 p join
DB1 father
on father.id = p.father_id and father.Blood = 'C_test' join
DB1 mother
on mother.id = p.mother_id and mother.Blood = 'F_test'
set p.Blood = 'G_result';
我使用的代码是否有任何错误? (在phpMyAdmin中)或者我是否需要添加IF或仅IF或其他任何内容..?
我还需要查询跳过那些已经有p.Blood值'myvalue'或'myvalue2'
的条目欣赏任何建议:P我仍然是一个菜鸟所以需要很好的解释:P