# Derby und Foreign Keys



## Tobias (15. Jun 2009)

Hi,

ich spiele gerade mit einer Derby-Datenbank herum. Leider scheitere ich daran, Fremdschlüssel zu definieren  ... Folgende Create-Table-Anweisung schmeißt immer die unten stehende Exception:


```
CREATE table APP.PARTICIPATION (MEMBER_ID INTEGER FOREIGN KEY REFERENCES MEMBERS(ID), COURSE_ID INTEGER FOREIGN KEY REFERENCES COURSES(ID), PART_DATE DATE)
```


```
java.sql.SQLSyntaxErrorException: Syntax error: Encountered "FOREIGN" at line 1, column 51.
// Uninteressanten Stacktrace weggelassen
```

Wie muß das SQL-Statement den korrekterweise lauten?


----------



## maki (15. Jun 2009)

Schon mal in die Doku geguckt??

CREATE TABLE statement

Table-level constraint


----------



## Tobias (15. Jun 2009)

Ja, ich werde aber nicht schlau draus. Probiere da schon ne ganze Weile dran rum und stehe irgendwo auf dem Schlauch ...


----------



## Tobias (15. Jun 2009)

Hab's gefunden. So ein Mist. Sorry für alle Unannehmlichkeiten ...

Lösung:

```
CREATE table APP.PARTICIPATION (MEMBER_ID INTEGER CONSTRAINT member_fk REFERENCES MEMBERS(ID), COURSE_ID INTEGER CONSTRAINT course_fk REFERENCES COURSES(ID), PART_DATE DATE)
```


----------



## maki (15. Jun 2009)

Im Reference Manual auf Seite 28 gibt es ein paar Beispiele.


----------

