powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / INSERT результатов SELECT с ON DUPLICATE KEY UPDATE
7 сообщений из 7, страница 1 из 1
INSERT результатов SELECT с ON DUPLICATE KEY UPDATE
    #40103399
Tonny96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Сделал выборку из базы и поместил в временную таблицу T. id|timer|soft|name|.

Теперь необходимо данные из этой временной (результирующей) таблицы T. (id|timer|soft|name|) записать уже в реальную таблицу real_table.

real_table имеет 1 PRIMARY KEY - 'id' и множество других полей, часть из которых должны быть изменены и взяты из временной таблицы Т.
Проблема заключается в том что в real_table.id может не быть такого id который есть в T.id, если его нет, то нужно его добавить и записать данные из T. id|timer|soft|name|.

Помогите пожалуйста составить запрос. Вот результирующая таблица (Select T.id, T.timer, T.soft, T.name FROM ...)
...
Рейтинг: 0 / 0
INSERT результатов SELECT с ON DUPLICATE KEY UPDATE
    #40103413
SergiiW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
INSERT результатов SELECT с ON DUPLICATE KEY UPDATE
    #40103426
Tonny96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergiiW, Спасибо)
...
Рейтинг: 0 / 0
INSERT результатов SELECT с ON DUPLICATE KEY UPDATE
    #40103439
Tonny96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergiiW,

к сожалению REPLACE затирает поля которые я не собирался трогать... превращает их в 0.. как исправить?
...
Рейтинг: 0 / 0
INSERT результатов SELECT с ON DUPLICATE KEY UPDATE
    #40103440
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tonny96
к сожалению REPLACE затирает поля которые я не собирался трогать... превращает их в 0.. как исправить?
покажи запрос
...
Рейтинг: 0 / 0
INSERT результатов SELECT с ON DUPLICATE KEY UPDATE
    #40103441
SergiiW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tonny96,
То есть, у вас есть еще каткие-то поля в таблице?
Тогда
Код: plsql
1.
REPLACE ... SELECT * FROM (SELECT ..., t2.field_N, t2.field_N1 FROM t t1 left JOIN real_table t2 ON t1.id = t2.id) t1


или двумя командами
Код: plsql
1.
2.
UPDATE ... ;
INSERT IGNORE ... SELECT ... FROM t1;
...
Рейтинг: 0 / 0
INSERT результатов SELECT с ON DUPLICATE KEY UPDATE
    #40103452
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, я вот навылет не понимаю - а почему не используется решение, упомянутое в заголовке?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / INSERT результатов SELECT с ON DUPLICATE KEY UPDATE
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]