SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 06.04.2011 23:36:32

JMax
Участник
Зарегистрирован: 06.04.2011
Сообщений: 1

Insert в зависимую таблицу

Добрый день.
Есть таблицы

CREATE TABLE IF NOT EXISTS `user` (
      `user_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
      ...
      PRIMARY KEY  (`user_id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `user_user` (
      `user_id1` INT UNSIGNED NOT NULL,
      `user_id2` INT UNSIGNED NOT NULL,
      ...
      PRIMARY KEY (`user_id1`, `user_id2`),
      KEY `user_id1_id` (`user_id1`),
      KEY `user_id2_id` (`user_id2`),
      CONSTRAINT `user_user_ibfk_2` FOREIGN KEY (`user_id2`) REFERENCES `user` (`user_id`) ON DELETE CASCADE,
      CONSTRAINT `user_user_ibfk_1` FOREIGN KEY (`user_id1`) REFERENCES `user` (`user_id`) ON DELETE CASCADE
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8;


Если во 2-ую таблицу пытаемся положить данные с id, которых нет в первой таблице, то возникает собственно exception, который не желателен, но структура таблиц должна остаться такой. Можно ли своять какой-нибудь такой запрос на вставку, который просто не вставлял бы данные при отсутствии хотя бы одного зависимого ключа в первой таблице?

Отредактированно JMax (06.04.2011 23:37:01)

Неактивен

 

#2 08.04.2011 21:51:01

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Insert в зависимую таблицу

INSERT IGNORE ...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson