Size: a a a

SqlCom.ru - Стиль жизни SQL

2020 November 07

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Nazar Zakap
Окей а если мне нужно например удалить определенный тур в определенную страну
Тур в страну. Страна - родительская Таблица.
Тур - дочерняя. Если ты удаляешь тур, то каскадно удалять нечего.
Вот если удалять будешь страну, то да, можешь удалить все туры в эту страну каскадно.
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Nazar Zakap
Мне нужно отменит туры в определенную страну (таблица оформление тура)
Но вообще, я согласен с парнями выше, каскадное удаление - это такая фишка из страны , где эльфы скачут на радужных единорогах, а в промке это не применяется обычно.
источник

NZ

Nazar Zakap in SqlCom.ru - Стиль жизни SQL
CONSTRAINT fk_country_location_cascade FOREIGN KEY (id)
       REFERENCES public.location (country_id) MATCH SIMPLE
       ON UPDATE NO ACTION
       ON DELETE CASCADE
источник

NZ

Nazar Zakap in SqlCom.ru - Стиль жизни SQL
Если это есть таблице country я могу удалить каскадно ?
источник

NZ

Nazar Zakap in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Но вообще, я согласен с парнями выше, каскадное удаление - это такая фишка из страны , где эльфы скачут на радужных единорогах, а в промке это не применяется обычно.
могу ?
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Nazar Zakap
могу ?
Ну, можешь
источник

NZ

Nazar Zakap in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Ну, можешь
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Nazar Zakap
CONSTRAINT fk_country_location_cascade FOREIGN KEY (id)
       REFERENCES public.location (country_id) MATCH SIMPLE
       ON UPDATE NO ACTION
       ON DELETE CASCADE
При удалении страны удалятся соответствующие записи из этой таблицы
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Слушай, ну тут же просто все, я все объяснил
источник

NZ

Nazar Zakap in SqlCom.ru - Стиль жизни SQL
Почему не происходит удаление в таблицы location если в country стоит ограничение ?      ON DELETE CASCADE
источник

NZ

Nazar Zakap in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Слушай, ну тут же просто все, я все объяснил
.
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Nazar Zakap
Почему не происходит удаление в таблицы location если в country стоит ограничение ?      ON DELETE CASCADE
Приведи полный DDL твоих таблиц и полный текст запроса. Тогда может тебе кто-то объяснит
источник

YS

Yaroslav Schekin in SqlCom.ru - Стиль жизни SQL
А мне любопытно, почему Вы, во-первых, показываете куски DDL картинками вместо текста, и во-вторых, вообще задаёте вопросы по PostgreSQL в чате по MS SQL? ;)
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Yaroslav Schekin
А мне любопытно, почему Вы, во-первых, показываете куски DDL картинками вместо текста, и во-вторых, вообще задаёте вопросы по PostgreSQL в чате по MS SQL? ;)
Да тут не только про SQL server...
источник

NZ

Nazar Zakap in SqlCom.ru - Стиль жизни SQL
Да, я нашел уже
источник

YS

Yaroslav Schekin in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Да тут не только про SQL server...
А Вы описание чата читали? ;)
"@sqlcom - основной канал (только MS SQL)"
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Yaroslav Schekin
А Вы описание чата читали? ;)
"@sqlcom - основной канал (только MS SQL)"
Читал, я тоже этому удивлен, но по факту все так.
источник

AK

Andy Korg in SqlCom.ru - Стиль жизни SQL
Применять или нет каскадное удаление на FK зависит от двух вещей:
а) Архитектуры приложения
б) Бизнес-логики
источник

Е

Ева in SqlCom.ru - Стиль жизни SQL
Создаю таблицу:
CREATE TABLE IF NOT EXISTS products_create (
       user_id INT UNIQUE,
       category_id INT REFERENCES category(id),
       locality_id INT REFERENCES locality(id),
       coord_msg_id INT,
       photo_msg_id INT,
       text_mdg_id INT


Обновляю категорию
UPDATE products_create
       SET category_id = (
       SELECT id
       FROM category
       WHERE name=?
       LIMIT 1
       )
       WHERE user_id=?

Но оно не обновляется
Походу внешний ключ неправильно ищу
источник

А

Артем in SqlCom.ru - Стиль жизни SQL
2flower _
как минимум распухание таблиц, за счет мусора, что усложнит планы со временем,
я читал на больших данных наоборот хранят только активные данные, а остальное в архив, а здесь еще и удаленные держать вообще мрак.
Как минимум распухание таблиц решается мувом в историю секций. Желательно ничего никогда не удалять. Твое распухание стоит меньше по рискам, чем "ой, мы случайно удалили, надо восстановить". Естественно, это не относится к случаям сбоя в приложении, когда тебе наспамили кучу одинаковых данных и delete выполняется скриптом дба, дбд
источник