powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как обновить/добавить запись в одном запросе без PK?
6 сообщений из 6, страница 1 из 1
Как обновить/добавить запись в одном запросе без PK?
    #38551607
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть система, работающая с БД MySQL.
Пишу скрипт, который будет синхронизировать данные в этой системе с данными из другой внешней системы.
В БД есть таблица тарифов. При синхронизации с внешней системой нужно добавить новые тарифы (еще не существующие), обновить существующие, а для удаленных из внешней системы тарифы нужно обновить поле-флаг. Идентифицируются тарифы по коду, который во внешней системе не меняется (PK).
Однако в имеющейся системы PK отсутствует, ключевое поле просто проиндексировано. Соответственно использовать ON DUPLICATE KEY я не могу.
Есть ли в MySQL альтернативный вариант добавления/обновления записей в одном запросе, в котором критерий совпадения можно указывать произвольный, как в оракловском MERGE?
________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
Как обновить/добавить запись в одном запросе без PK?
    #38551614
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Однако в имеющейся системы PK отсутствует, ключевое поле просто проиндексировано. Соответственно использовать ON DUPLICATE KEY я не могу.Что мешает из этого поля сделать PK или хотя бы уникальный индекс?
...
Рейтинг: 0 / 0
Как обновить/добавить запись в одном запросе без PK?
    #38551620
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не знаю мотивов разработчика этой системы, возможно в логике системы возможно временное нарушение уникальности ключа или использование null.
Вопрос я задал, если будет возможно, PK я добавлю.
А если этого делать нельзя, хотелось бы знать, есть ли альтернативы.
...
Рейтинг: 0 / 0
Как обновить/добавить запись в одном запросе без PK?
    #38551625
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.А если этого делать нельзяА если этого сделать нельзя, то какую из нескольких записей нужно обновлять?
...
Рейтинг: 0 / 0
Как обновить/добавить запись в одном запросе без PK?
    #38551662
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таблице тарифов есть два поля (BILLCODE, CODE), которые однозначно идентифицируют запись.
Но возможно, что во время каких-то операций в эти поля временно пишутся какие-то значения, которые нарушают PK.
...
Рейтинг: 0 / 0
Как обновить/добавить запись в одном запросе без PK?
    #38552007
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос закрыт.
Разработчик сообщил, что PK добавить можно.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как обновить/добавить запись в одном запросе без PK?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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