|
Обновление таблицы many to many
|
|||
---|---|---|---|
#18+
Добрый день, подскажите, как правильно обновить таблицу many to many? Таблица 1: city Поля: id title Таблица 2: metro Поля: id title Таблица 3: city_metro Поля: id_city id_metro Допустим изначально в таблице 3 были след. значения: id_city id_metro 0 1 0 2 0 3 После обновления хочу получить: id_city id_metro 0 3 0 4 0 5 Как правильно составить запрос, чтобы обновить таблицу? Есть идея, но не уверен, что она правильная и так делать грамотно. 1. Удалить все значения из таблицы с id_city = 0 и записать новые. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 15:12 |
|
Обновление таблицы many to many
|
|||
---|---|---|---|
#18+
illusion.k24, Распишите задачу, непонятно откуда и как между собой связаны данные значения. update table set id_metro=case when id_metro=1 then 3 when id_metro=2 then 4 when id_metro=4 then 5 else id_metro end where id_city=0 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 15:29 |
|
Обновление таблицы many to many
|
|||
---|---|---|---|
#18+
Распишите задачу, непонятно откуда и как между собой связаны данные значения. Есть таблица городов и таблица метро. Для примера: Таблица 1: id title 0 Санкт-Петербург Таблица 2: id title 0 Автово 1 Академическая ... Таблица 3, которая имеет связь с таблицей 1: id_city id_metro 0 0 0 1 ... Задача: С формы сайта получить данные по городу и станциям метро. Если такая запись уже существует, то обновить данные. Для примера опять же. В городе Спб, есть 3 магазина, которые расположены на станициях А, Б, В. Спустя некоторое время магазин на станции Б закрылся, но открылся на станции Г, Д, Е. Получается, что сейчас в таблице 3 должно быть 5 записей. Две старые А, В и три новые Г, Д, Е. Вот здесь как раз таки вопрос, как правильно это всё дело обновить? Пишу на php. Из озвученных идей это удалить из таблицы 3 все значения по id_city и записать новые. Ваш пример для моего случая не подойдёт ведь? Т.к. записей для Одного города может быть больше 3? Повторюсь, что пишу на php. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 15:43 |
|
Обновление таблицы many to many
|
|||
---|---|---|---|
#18+
illusion.k24, Оператор Merge Вам в помощь, так же вам понадобиться как-то определять закрыт магазин или открыт. Колонка в БД со статусом закрыт/окрыт (0/1) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 15:48 |
|
Обновление таблицы many to many
|
|||
---|---|---|---|
#18+
А можете пример показать? По примерам из поисковика не совсем понятно, что смерживать в моём случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 15:58 |
|
Обновление таблицы many to many
|
|||
---|---|---|---|
#18+
illusion.k24, Суть логики простая, если запись в таблице имеется - то обновить ее, допустим статус с открыт на закрыт. Если записи нет - добавить ее. https://www.sql.ru/blogs/oracleandsql/1927 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 16:04 |
|
Обновление таблицы many to many
|
|||
---|---|---|---|
#18+
illusion.k24 , Вас просили расписать задачу. В частности, предполагалось, что будет дано исходное состояние таблиц (включая структуру, включая внешние ключи при наличии, и данные без многоточий), входные данные для изменения (без многоточий), конечное состояние таблиц (для именно этих данных), и объяснение, почему именно так. dvk92 Суть логики простая, если запись в таблице имеется - то обновить ее Не обманывайте человека. Так делает INSERT .. ODKU. А вот MERGE тупо удаляет старый дубль и на его место пишет новый. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 16:29 |
|
Обновление таблицы many to many
|
|||
---|---|---|---|
#18+
dvk92 Оператор Merge Вам в помощь ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 22:34 |
|
Обновление таблицы many to many
|
|||
---|---|---|---|
#18+
miksoft Нет его в MySQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 07:33 |
|
Обновление таблицы many to many
|
|||
---|---|---|---|
#18+
Как правильно составить запрос, чтобы обновить таблицу? Это связь многие-ко многим, там нечего обновлять, у тебя там нет ни одного атрибута. Удаляешь записи для ненужных, старых city_id или metro_id, вставляешь для новых. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2019, 15:05 |
|
|
start [/forum/topic.php?fid=47&fpage=27&tid=1828799]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 305ms |
total: | 452ms |
0 / 0 |