2016-05-30 7 views
-1

Ich habe 2 Tabellen: Verkäufer mit Feldern (seller_id Name) und Filme mit Feld (movie_id, Name, Genre). Es hat zwei Tabellen "viele-zu-viele" -Beziehungen, also habe ich auch dritte Join-Tabelle "sellers_movies" mit Feldern seller_id | Film-ID Es hat einen Nullwert am Anfang. Also mein Problem ist: zum Beispiel fügen wir movie_id in der Tabelle "movies" hinzu, und ist es möglich, das Feld movie_id in der Tabelle "sellers_movies" automatisch von null auf das zu aktualisieren, was wir in der Tabelle "movies" geschrieben haben?wie Null Zeilen in Join-Tabelle zu aktualisieren

+1

Sie können Zeilen nicht aktualisieren, die nicht existieren .. Sie müssen die Zeilen für die Relation – scaisEdge

+1

@scaisEdge einfügen, aber was ist mit LAST_INSERT_ID()? Es hilft nicht? –

+0

zu mir scheint nicht zu Ihrer Frage verwandt .. .. dort ist ein tiefer Unterschied zwischen einer Reihe, die dann existiert, mit fast einem Feld unterschiedlicher Form null und eine Zeile, die nicht existiert. Ihr relation table seller: Filme müssen ausgefüllt werden mit einfügen .. (und eventuell aktualisieren, wenn die einzelne Beziehung ändern) für mantein die richtige Beziehung zwischen den beiden Tabellen .. die last_insert_id .. was bedeutet das.?. – scaisEdge

Antwort

0

Sie wären gut mit einem trigger auf Ihrem Tisch 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; 

Dann für jede Zeile eingefügt auf movies wird es einen Verein für jeden Verkäufer auf sellers_movies Tabelle erstellen.

+0

wow, danke, ich werde es versuchen –