per PHP ein Formelergebnis in MySQL Datensatz schreiben

maybelater

Grünschnabel
Hallo zusammen,

bin neu, also bitte nehmt mich nicht hoch ;-)

Folgendes Problem:
Es soll ein neuer Datensatz in die DB geschrieben werden , klappt auch wunderbar.
Jedoch soll eines der Felder das Ergebnis einer Formel sein, nämlich der ID des neu zu schreibenden Datensatzes (ID ist auto_increment) plus einen wert x.

Dies soll als eine Art Kundennummer dienen, die auf jeden Fall eindeutig ist.

Mein Ansatz wäre das Schreiben des Datensatzes, auslesen des gleichen Datensatzes, berechnen des Ergebnisses und dann Updaten des Datensatzes.
Ist aber doch irgendwie recht kompliziert gedacht, oder ?

Kann man das eventuell leichter lösen ?

Vielen Dank für die Hilfe

Maybelater
 
Jedoch soll eines der Felder das Ergebnis einer Formel sein, nämlich der ID des neu zu schreibenden Datensatzes (ID ist auto_increment) plus einen wert x.

Ich denke du meinst sowas : Die Kundennr ist zb 100000 plus die
Autoid - wenn sich dein Grundwert sprich die 100000 nie ändert
dann arbeitest du nur mit Autoincrement allein - du musst nur per Hand
dafür sorgen das der Erste Kunde in der DB die Nummer 100001 bekommt
rest passiert dann automatisch :-)
 
ja genau

allerdings fehlt da nun immer noch der hinweis,
wie ich das ganze nun entsprechend abkürze
oder ob es denn überhautp möglich ist.

ich meine, der weg über INSERT, SELECT und UPDATE
kann doch nicht der sack der zwerge sein, oder ?

kann man nicht direkt in der datenbank ein feld definieren,
welches den wert errechnet ?

nach dem motto:
feld 1 feld 2
wert wert(wert 'feld 1' + 10000)

oder sowas

danke für die schnelle antwort....
 
Nee, das geht nicht... Aber den Select zwischen INSERT und UPDATE kannst Dir spaaren.

mysql_insert_id(); ist hier Dein Freund....
 
Was ich mit meinem Post eigendlich sagen wollte:

Du brauchst kein Update mehr wenn dein Feld das auf Autoincrement steht
auf den entspechenen Startwert setzt danach zählt er selbst brav hoch

sprich wenn die erste Kundennummer auf 100001 steht ist die nächste zahl die
autoincrement einsetzt 100002 usw ..
 
Zurück