2016-05-30 2 views
-1

У меня есть 2 таблицы: продавцы с полями (имя продавца_ид) и фильмы с полем (movie_id, имя, жанр). У двух таблиц есть отношения «многие-ко многим», поэтому у меня есть третья таблица соединений «sellers_movies» с поля seller_id | movie_id. В начале поля это значение имеет нулевое значение. Поэтому моя проблема: например, мы добавляем movie_id в таблицу «movies», и возможно ли автоматическое обновление поля movie_id в таблице «sellers_movies» от нуля до того, что мы написали в таблице «movies»?Как обновить нулевые строки в таблице соединений

+1

вы не можете обновлять строки, которые не существуют .. вы должны вставить строки для отношения – scaisEdge

+1

@scaisEdge, но как насчет LAST_INSERT_ID()? Это не помогает? –

+0

мне кажется, не связано с вашим вопросом .. .. есть глубокая разница между строкой, которая существует, а затем почти с одним полем, отличным от нуля, и строкой, которая не существует. Ваш продавец таблицы отношений: фильмы должны быть заполнены вставкой .. (и, в конечном счете, обновлены, если изменяется одно отношение) для mantein правильное отношение между двумя таблицами .. last_insert_id ..что для этого означает. – scaisEdge

ответ

0

У вас будет хорошо с trigger на вашем столе movies.

CREATE TRIGGER associateMoviesToSellers 
BEFORE INSERT ON movies 
FOR EACH ROW 
BEGIN 
    INSERT INTO sellers_movies (seller_id, movie_id) 
     SELECT s.seller_id, NEW.movie_id 
     FROM sellers s; 
END; 

Тогда для каждой строки, вставленной в movies создаст ассоциацию для каждого продавца на sellers_movies столе.

+0

Вау, спасибо, я попробую –

Смежные вопросы