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


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