Изображение ниже объясняет, что мне нужно сделать:
Другими словами, мне нужно обновить многие строки в таблице, используя некоторые данные, содержащиеся в одной строке (в частности, столбцы bankId, proj_day и liq_day, напечатанные красным цветом на изображении выше). Обратите внимание, что значение столбца "id" совпадает с столбцом "entryID" (зеленая метка). Конечно, запрос, который я построил, не работает. Там больше строк, и мне нужно обновить все, на основе id, соединенного с entryId.
Я попытался с вашим запросом, и он работает. Я также добавил некоторые выборочные данные здесь, вы можете проверить его и посмотреть.
Единственное отличие, которое я вижу в вашем запросе, состоит в том, что у вас нет самостоятельного присоединения (соединение с одной и той же таблицей). Но в любом случае это должно сработать.
UPDATE tbl A
INNER JOIN tbl B
ON A.entryId = B.id
SET A.bankId = B.bankId, A.proj_day = B.proj_day, A.liq_day = B.liq_day
WHERE A.userid = 307 AND A.entryId > 0;