PDA

View Full Version : SQL Insert



Seiten : [1] 2

KM
29-06-20, 11:42
Hallo,

ich möchte einen leeren Datensatz per SQL-Insert anlegen und dabei nur das Key-Feld füllen. Gibt es dafür eine einfache Möglichkeit ohne alle Felder explizit mit Default-Werten angeben zu müssen?

Danke,
KM

KM
29-06-20, 11:50
Hab's gerade selbst herausgefunden. Ich muss nur das Feld, das ich explizit setzen will, in Klammern hinter dem Dateinamen anfügen. Dann brauche ich die anderen Felder nicht mit anzugeben.

Fuerchau
29-06-20, 14:11
Dies war schon immer so:

insert into mytable (f1, f2, ...) values(v1, v2, ...)

Der Rest erhält seinen Defaultwert oder eben NULL.

KM
29-06-20, 14:13
Ja, wie schon geschrieben hatte ich das vorhin selbst noch herausgefunden.

Trotzdem Danke!

camouflage
29-06-20, 16:42
Was auch geht, ist eine Datenstruktur. Dann hast Du ungefähr den gleichen Meccano wie bei native IO.
Bei mehreren Feldern gehe ich jedenfalls so vor.

Fuerchau
29-06-20, 22:59
Aha, und wie ordnest du aus der DS nur die benötigten Felder zu?
Oder verwendest du dann doch wieder alle Felder?

BenderD
30-06-20, 05:13
Aha, und wie ordnest du aus der DS nur die benötigten Felder zu?
Oder verwendest du dann doch wieder alle Felder?

... wie bei Rekord Löffel Ekzem: da schreibt er das rein, was halt gerade in der DS drinsteht.

D*B

Fuerchau
30-06-20, 07:46
Es ging ja nicht darum, den Insert via DS zu machen sondern auf die Felder zu beschränken, die man füllen möchte und nicht selber die Defaults bzw. Nulls zu setzen.
Vielleicht wollte der Frager ja auch einfach nicht extra ein Programm erstellen (müssen).

camouflage
30-06-20, 08:01
Ueber Methoden kann man immer diskutieren. Im angefragten Fall, absolut richtig, da würde ich auch keine DS verwenden. Was mir aber widerstrebt, wenn x Felder gefüllt werden müssen, die Fingerzählmethode anzuwenden, ob nun die Felder mit den Values übereinstimmen. Da bin ich halt noch ein wenig "Old Fashioned". Da ist's mir frei nach Wendler: Egal!

holgerscherer
30-06-20, 09:17
Ueber Methoden kann man immer diskutieren. Im angefragten Fall, absolut richtig, da würde ich auch keine DS verwenden. Was mir aber widerstrebt, wenn x Felder gefüllt werden müssen, die Fingerzählmethode anzuwenden, ob nun die Felder mit den Values übereinstimmen. Da bin ich halt noch ein wenig "Old Fashioned". Da ist's mir frei nach Wendler: Egal!

Wieso Finger zählen? Mann kann doch sagen: hier haste 5 Felder namens A, B, C, D, E und dazu kommen die Werte 1, 2, '3', 4.0 und 5

-h