Базы данных. SQL. MySQL: Внешние ключи

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ก.พ. 2025

ความคิดเห็น • 31

  • @АртемКольщик
    @АртемКольщик 3 ปีที่แล้ว +9

    Настолько просто и понятно объясняете, просто супер, спасибо!

    • @Rclass
      @Rclass  3 ปีที่แล้ว +1

      Спасибо, мы старались :)

  • @margotew6829
    @margotew6829 3 ปีที่แล้ว +5

    Спасибо вам большое! Без вас вообще все непонятно было

    • @Rclass
      @Rclass  3 ปีที่แล้ว +1

      Спасибо, мы старались :)

  • @shluhogon_42
    @shluhogon_42 ปีที่แล้ว +1

    Отлично. Все максимально понятно за первые 2 минуты видео. Только на примерах должны строиться любые уроки

    • @Rclass
      @Rclass  ปีที่แล้ว

      Мы старались ^_^

  • @Edvard-Aliev
    @Edvard-Aliev 4 ปีที่แล้ว +3

    Спасибо за видео! Очень удобно и все понятно!

    • @Rclass
      @Rclass  4 ปีที่แล้ว +4

      Спасибо, мы старались ^_^

  • @bra1nlagwe
    @bra1nlagwe 4 ปีที่แล้ว +2

    Спасибо за полезную информацию!

  • @AnatolyAkopyan
    @AnatolyAkopyan 2 ปีที่แล้ว +3

    препод от Бога

    • @Rclass
      @Rclass  2 ปีที่แล้ว +1

      Спасибо :)

  • @АНдрейБашкиров-с7ш
    @АНдрейБашкиров-с7ш 2 ปีที่แล้ว +1

    Всё чётко и ясно, спасибо

    • @Rclass
      @Rclass  2 ปีที่แล้ว

      Спасибо, стараемся для вас!

  • @sombramusic8461
    @sombramusic8461 ปีที่แล้ว +1

    По факту и все ясно 👌

    • @Rclass
      @Rclass  ปีที่แล้ว

      Спасибо за отклик :)

  • @websoda
    @websoda 4 ปีที่แล้ว +1

    спасибо, очень доступно

  • @goshagotye
    @goshagotye ปีที่แล้ว

    Я так понимаю, ввборка в таком случае джоинами происходит?

  • @dmitry3351
    @dmitry3351 2 ปีที่แล้ว

    А что делать если 1 потомок имеется 2-ух и более предков? Указывать в столбце с foregin key несколько id через запятую или как?

    • @Rclass
      @Rclass  2 ปีที่แล้ว +2

      Это уже Many2Many связь - вам нужна дополнительная таблица ✨

  • @Сашач-ш8м
    @Сашач-ш8м 3 ปีที่แล้ว

    Спасибо!
    Я правильно понимаю, что здесь речь идёт о триггерах или тема триггеров это что-то другое?

  • @varvarskaya
    @varvarskaya 4 ปีที่แล้ว +2

    Ох уж эта ссылочная целостность

    • @SklyarovRoman
      @SklyarovRoman 3 ปีที่แล้ว

      ну целостность очень полезная вещь т.к. потом бд превращается в не пойми что. Да и после можно открыть диаграмму в программе и визуально видеть что с чем связанно и переходить по этим связям что существенно облегчает жизнь. Конечно накладывает некие ограничение особенно при транкейтах, но это решается временной отменой проверки связей foreign_key_checks = 1;

    • @varvarskaya
      @varvarskaya 3 ปีที่แล้ว

      @@SklyarovRoman точно, не думала об этом! Спасибо🙌

  • @wennerryle5967
    @wennerryle5967 3 ปีที่แล้ว +2

    Прошлые две лекции хотя бы понимал, а щас нет.. (зы: да, в прошлой лекции говорилось чтобы шёл в Википедию.)

    • @Rclass
      @Rclass  3 ปีที่แล้ว +2

      А вы пропустите пока этот момент, там дальше будет попроще :)

    • @Rclass
      @Rclass  3 ปีที่แล้ว +2

      А потом нагоните :)

    • @wennerryle5967
      @wennerryle5967 3 ปีที่แล้ว +1

      Если бы не ваше сообщение, то возможно бы на этом и закончил изучение) Спасибо!

  • @blackedition2155
    @blackedition2155 2 ปีที่แล้ว +1

    Понятно, что ничего не понятно...

    • @Rclass
      @Rclass  2 ปีที่แล้ว +1

      И это уже первый шаг чтобы понять что именно нужно понять!

  • @АлексейЕлисеев-ю3ц
    @АлексейЕлисеев-ю3ц 3 ปีที่แล้ว

    Спасибо большое за видео-урок;
    У меня следующая проблема:
    CREATE TABLE IF NOT EXISTS `depart` (
    `depart_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
    `departament` varchar(255) DEFAULT NULL,
    PRIMARY KEY (`depart_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    CREATE TABLE IF NOT EXISTS `users` (
    `user_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
    `user_name` varchar(255) DEFAULT NULL,
    `depart_id` int(11) unsigned DEFAULT 1,
    PRIMARY KEY (`user_id`),
    FOREIGN KEY (`depart_id`) REFERENCES `depart` (`depart_id`)
    ON UPDATE CASCADE
    ON DELETE SET DEFAULT
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    При выполнении кода:
    delete from `depart` where `depart_id` = 3; (где depart_id 3 - это отдел разработки, и я ожидаю что у всех юзеров depart_id станет равен 1)
    Вылетает ошибка:
    ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`test`.`users`, CONSTRAINT `users_ibfk_1` FOREIGN KEY (`depart_id`) REFERENCES `depart` (`depart_id`) ON UPDATE CASCADE)
    Подскажите что я делаю не так.
    Спасибо!

    • @ДмитрийВасильевич1234
      @ДмитрийВасильевич1234 ปีที่แล้ว

      вы все делали правильно, просто код в лекции где установлены значения по умолчанию при удалении и обновлении ключа не работает и не будет работать, ибо в документациии прямо об этом сказано "SET DEFAULT: This action is recognized by the MySQL parser, but both InnoDB and NDB reject table definitions containing ON DELETE SET DEFAULT or ON UPDATE SET DEFAULT clauses."