Tach!
Bei einteiligen Interviews bleibt "Teil" auf NULL.
Bei einteiligen Interviews sollte da eine 1 drinstehen. NULL bedeutet (üblicherweise) unbekannt.
Eigentlich sollte ich, sobald ich eine bereits in der Tabelle existierende Kombination aus Sendung, Interpret und Teil eingebe, eine Fehlermeldung (abgefangen durch eine selbstprogrammierte Funktion dberror()) bekommen - das passiert aber nicht! Wieso?
Wann immer NULL im Spiel ist, ist das Ergebnis NULL. Das ist selbst beim Vergleichen von NULL mit NULL so. NULL wird im boolschen Kontext auch immer wie false gewertet. Demzufolge kommt beim Vergleichen von a-b-NULL mit a-b-NULL immer false raus. Beide Werte sind also nicht gleich: Bedingung erfüllt.
Oder gemäß MySQL-Handbuch: For all engines, a UNIQUE index permits multiple NULL values for columns that can contain NULL.
dedlfix.