SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 01.03.2022 19:15:58

Федосей
Участник
Зарегистрирован: 16.11.2021
Сообщений: 13

Обновление данных в одной таблице данными из другой. При одинаковых ID

У двух таблиц такие структуры.
Таблица OLD. Поля: ID  int(11), DATE (datetime).
Таблица NEW. Поля: ID  int(11), DATE (datetime).

OLD.ID=NEW.ID . Но OLD.DATE !=NEW.DATE .

Однако теперь потребовалось, чтобы стало так: OLD.DATE как в NEW.DATE .
Причём исключительно в тех ячейках `OLD`.`ID`, для которых соблюдается условие: `OLD`.`ID` = `NEW`.`ID`и OLD.DATE>1000 .

UPDATE `OLD` , `NEW` SET `OLD`.`DATE`=`NEW`.`DATE` WHERE `OLD`.`ID` = `NEW`.`ID` AND `OLD`.`DATE`>1000;
К сожалению, данный запрос во все ячейках в поле `OLD`.`DATE` поставил (обновил) одну и ту же дату.
Одну из самых древних, которые содержатся в таблице `NEW`.`DATE`.

Схема упрощена специально. Действующие таблицы очень отличаются друг от друга по полям и количеству строк.

Отредактированно Федосей (01.03.2022 19:45:00)

Неактивен

 

#2 02.03.2022 18:41:36

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5777

Re: Обновление данных в одной таблице данными из другой. При одинаковых ID

Запрос, который вы написали, должен отрабатывать корректно.
Можете сделать упрощенный пример, иллюстрирующий проблему, на https://dbfiddle.uk/?rdbms=mysql_8.0 или тут в виде набора команд create table и insert into.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson