Для системы обмена сообщениями, я пытаюсь отметить соответствующие to_del и from_del поля для работника 2.Объединение двух запросов в одну в одной таблице (одни и те же столбцы/разные строки)
Здесь, прежде чем сотрудник 2 удаляет сообщения :
company_id | to | from | to_del | from_del
1 4 2 0 0
1 2 4 0 0
Вот после того, как сотрудник 2 удаляет сообщения:
company_id | to | from | to_del | from_del
1 4 2 0 1
1 2 4 1 0
я должен запустить 2 запросов для этой работы:
UPDATE messages SET from_del='1' WHERE company_id=1 AND from=2
UPDATE messages SET to_del='1' WHERE company_id=1 AND to=2
Можно ли объединить эти 2 запроса в один более эффективный запрос? Что-то вроде:
UPDATE messages SET from_del='1',to_del='1' WHERE company_id=1 AND (from=2 OR to=2)
Эта проблема одного запроса заключается в том, что он отмечает все 4 поля удаления как «1». Любые идеи о том, как получить один эффективный запрос, чтобы действовать как 2 вышеуказанных запроса?
Спасибо за ваш вклад, но что вы имеете в виду под «Вы обновляя столбцы, которые не делают должно быть так »? – Maverick
Это означает, что если вам нужно только обновить 'from_del', вы также будете обновлять' to_del', нравится вам это или нет, вы обновляете его до того же значения, если оно не соответствует вашему условию, но вы все еще обновляете Это. – Ben
- то, что else from_del и еще to_del? Считаете ли вы, что более эффективно выполнять два запроса, например, выше, или использовать часть случая? – Maverick