Guten morgen Leute,
mal ne etwas bescheidene Frage:
und zwar habe ich 2 Tabellen und ein Formular (java/swing), mit dem ich Daten eintrage.
zB die daten:
username, telefonnummer, buch1, buch2
nun sieht es so aus, dass in tab1 nur Daten aus dem Formular reinkommen, ich also ein ganz normales preparedStatement abfeuern kann (also username, telefonnummer).
Bei der 2. Tabelle allerdings, müsste die gerade erzeugte ID des Users reinkommen.
also diese Daten: tab1.userID, buch1, buch2.
wie müsste jetzt mein SQL Statement aussehen? Da der User immer neu angelegt und die ID per autoincrement hochgezählt wird, würde es mir auch reichen, wenn ich einfach die letzte ID mit reinschreibe.
Hoffe ihr wisst was ich meine.
hier nochmal meine abstrakte "Datenstruktur":
tab1(userID, name, telefonnummer) -> zB. Insert into tab1 values (0,peter,123) (optional auch als PreparedStatement)
tab2(id, userID, buch1, buch2) -> zB. Insert into tab2 values (0,USERID,'buchnr1', 'buchnr2'')
Danke
sql insert in 2 tabellen
Re: sql insert in 2 tabellen
Hi,
du solltest angeben, um welche Datenbanksoftware es sich handelt - autoincrement hat naemlich nicht
jede Datenbank.
Wenn ich mich recht entsinne gibt es bei Datenbanken mit autoincrement so was wie eine "returning" clausel,
in der man angeben kann, dass beim Insert ein Wert zurueckgegeben werden soll (eben der soeben erzeugte
primary key).
Falls es das nicht gibt, musst Du den Wert fuer den Primary key vorher manuell aus einer Sequence ziehen
und den dann in beiden Statements benutzen.
Ciao
Stefan
du solltest angeben, um welche Datenbanksoftware es sich handelt - autoincrement hat naemlich nicht
jede Datenbank.
Wenn ich mich recht entsinne gibt es bei Datenbanken mit autoincrement so was wie eine "returning" clausel,
in der man angeben kann, dass beim Insert ein Wert zurueckgegeben werden soll (eben der soeben erzeugte
primary key).
Falls es das nicht gibt, musst Du den Wert fuer den Primary key vorher manuell aus einer Sequence ziehen
und den dann in beiden Statements benutzen.
Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.
Re: sql insert in 2 tabellen
Hi Stefan,
das wäre natürlich optimal, bietet MySQL sowas
(zur Not könnte ich auch umsteigen, wobei sich das wahrscheinlich nicht lohnen würden)?
Mit "Sequenz ziehen" meist du eine Abfrage auf den aktuellen Datenstamm ?
also mal skizzenhaft:
Usereintrag -> Abfrage auf User, letzte ID ermitteln -> Bucheintrag
?
danke
das wäre natürlich optimal, bietet MySQL sowas
(zur Not könnte ich auch umsteigen, wobei sich das wahrscheinlich nicht lohnen würden)?
Mit "Sequenz ziehen" meist du eine Abfrage auf den aktuellen Datenstamm ?
also mal skizzenhaft:
Usereintrag -> Abfrage auf User, letzte ID ermitteln -> Bucheintrag
?
danke
Re: sql insert in 2 tabellen
Hi,
bei mySQL gibt es die Funktion LAST_INSERT_ID() - da gibt es bestimmt in der Doku zu AUTO_INCREMENT
entsprechende Hinweise.
Ciao
Stefan
bei mySQL gibt es die Funktion LAST_INSERT_ID() - da gibt es bestimmt in der Doku zu AUTO_INCREMENT
entsprechende Hinweise.
Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.
Re: sql insert in 2 tabellen
sauber!
vielen Dank, läuft bestens!
vielen Dank, läuft bestens!