sql >> Databasteknik >  >> RDS >> Oracle

Oracle sammansatt primärnyckel / främmande nyckel fråga

Felet beror på att FOREIGN KEY är en kolumn, men du försöker ange två kolumner som förälder. Det finns inget behov av att knyta till den sammansatta nyckeln, eftersom restrictedgroups har inte ett personid kolumn...

Du har också förhållandet baklänges - använd:

CREATE TABLE restrictedgroups ( 
  groupid number, 
  name varchar2(50), 
  dateadded date, 
  since date, 
  notes varchar2(1024), 
  CONSTRAINT pk_groupid PRIMARY KEY(groupid)
);

CREATE TABLE groupspersonx ( 
  personid number, 
  groupid number, 
  CONSTRAINT pk_persongroupid PRIMARY KEY(personid, groupid),
  CONSTRAINT fk_persongroup FOREIGN KEY(groupid) REFERENCES restrictedgroups(groupid) 
); 

Jag skulle lägga till en främmande nyckel-begränsning för vilken tabell som helst personid skulle komma från.



  1. Ändrar Mysql Table-kolumnen för att vara skiftlägeskänslig

  2. java.lang.IncompatibleClassChangeError:Hittade klassen com.mysql.jdbc.Statement, men gränssnittet förväntades

  3. Subtraktion mellan två sql-frågor

  4. MySQL groupwise MAX() returnerar oväntade resultat