Salve a tutti non riesco a far funzionare i vincoli di integrità referenziale.
Vi posto il codice SQL :
Tabella referenziata
Codice PHP:
CREATE TABLE Prodotto (
id INT PRIMARY KEY
Nome VARCHAR(30NOT NULL UNIQUE
Genere VARCHAR(30), 
Punti INT
Reparto VARCHAR(30REFERENCES Reparto (Nome), 
Prezzo_pubblico FLOAT
Soglia_minima INT NOT NULL
Quantita INT
Tempo_vendita DATE NOT NULL
); 
Tabella che referenzia :
Codice PHP:
CREATE TABLE Premio (
id INT PRIMARY KEY REFERENCES Prodotto(Id), 
Prodotto_associato VARCHAR(30NOT NULL REFERENCES Prodotto (Nome), 
Punti_necessari INT NOT NULL
); 
Ora la cosa che dovrebbe accadere è che quando inserisco dei valori nella tabella premio sull'attributo Prodotto_associato questi valori si dovrebbero poter inserire soltanto se compaiono una ed una sola volta nell'attributo nome della tabella Prodotto.

Perchè questo non succede? Eppure le regole sintattiche e semantiche le ho seguite alla perfezione.