Hallo, ich bin Anfaenger bei SQL und Java und habe ein Problem: ich möchte in java-code einen Befehl beschreiben und ihn an die MySQL Workbench uebergeben. Mit dem Befehl moechte ich eine Tabelle anlegen, die auch einen Fremdschlüssel enthält. Ich habe gedacht das folgende Code sollte beim Anlegen von foreign key S_id in die Tabelle4(='irgendein Name') funktionieren (S_id ist primary key in der Tabelle Standort):
[JAVA=10]
db.execute("CREATE TABLE `"+Tabelle4+"` ("+
"`I_id` INT NOT NULL AUTO_INCREMENT ,"+
"`B_bet` INT NOT NULL ,"+
"`B_Z` VARCHAR(1) NULL ,"+
"`L_lid` INT NOT NULL ,"+
"`S_id` INT NOT NULL ,"+
"PRIMARY KEY (`MatrNr`) ),"+
"FOREIGN KEY (`S_id`) references `Standort`(`S_id`);");
db.CloseDb();
[/code]
aber es tut natuerlich nicht, und sogar mehr: die Tabelle wird gar nicht angelegt. Und ich weiss nicht warum. Koennte mir bitte irgendjemand sagen was das Problem ist?
Das zweite Problem ist: Wie ist es mit den Verbindungen 1:N, N:1, N:N? Wie werden sie irgendwie in Java-Code abgebildet?
[JAVA=10]
db.execute("CREATE TABLE `"+Tabelle4+"` ("+
"`I_id` INT NOT NULL AUTO_INCREMENT ,"+
"`B_bet` INT NOT NULL ,"+
"`B_Z` VARCHAR(1) NULL ,"+
"`L_lid` INT NOT NULL ,"+
"`S_id` INT NOT NULL ,"+
"PRIMARY KEY (`MatrNr`) ),"+
"FOREIGN KEY (`S_id`) references `Standort`(`S_id`);");
db.CloseDb();
[/code]
aber es tut natuerlich nicht, und sogar mehr: die Tabelle wird gar nicht angelegt. Und ich weiss nicht warum. Koennte mir bitte irgendjemand sagen was das Problem ist?
Das zweite Problem ist: Wie ist es mit den Verbindungen 1:N, N:1, N:N? Wie werden sie irgendwie in Java-Code abgebildet?