/ / Aggiunta della chiave ESTERA Vincolo nella colonna: sql, sql-server, chiavi esterne

Aggiunta di FOREIGN KEY Constraint nella colonna - sql, sql-server, chiavi esterne

Come posso aggiungere il vincolo FOREIGN KEY nella colonna referrer_id (uguale all'ID profilo)? Poiché il nome della colonna contiene parentesi, viene generato un errore

ALTER table Referrals ADD Constraint fk_referrer_ID
FOREIGN KEY(referrer_id(same as profile id)) REFERENCES Profiles(profile_id)

ERRORE: sintassi errata vicino a "referrer_id (uguale all'ID profilo)".

risposte:

1 per risposta № 1

Usa la query seguente, il nome della colonna delimitato da parentesi ([]):

ALTER table Referrals ADD Constraint fk_referrer_ID FOREIGN KEY([referrer_id(same as profile id)]) REFERENCES Profiles(profile_id)

1 per risposta № 2

Credo referrer_id è il nome della tua colonna

ALTER table Referrals ADD Constraint fk_referrer_ID
FOREIGN KEY(referrer_id) REFERENCES Profiles(profile_id)

Non devi specificare che lo è come ID profilo in chiave esterna, REFERENCES Profiles(profile_id) trasmette quel messaggio al compilatore.

o se hai davvero un brutto nome di colonna (referrer_id(same as profile id)) quindi è necessario utilizzare parentesi quadre per sfuggire ai caratteri speciali presenti nel nome della colonna

ALTER table Referrals ADD Constraint fk_referrer_ID
FOREIGN KEY([referrer_id(same as profile id)]) REFERENCES Profiles(profile_id)