Hallo,

Ik heb in een bepaalde MySQL tabel een id veld (beginnend bij 1).

Nu wil ik graag dat hij bij het aanmaken van een nieuwe record een veld automatisch invult maar dan met de waarde van het ID + een nummer wat ik opgeef... is dit mogelijk?


Dus stel dat veld ID = 3 (nieuwe record), dan wil ik dat veld OPTEL = ID + 6 (OPTEL moet dus 3 + 6 = 9) worden.

Is dit mogelijk in mysql zelf? Of moet dit via php

Bedankt!
Kijk eens naar SUM....

Maar als je het over ID-nummers hebt. Er bestaat ook een AUTO-INCREMENT functie (i.c.m. Primairy Key) die ID-nummers van records laat doortellen.
Dat klopt, die gebruik ik ook voor ID, een ander veld (genaamd OPTEL wil ik de waarde van ID + een nummer laten krijgen). Het liefst laat ik dit via MySQL regelen zodat ik het niet zelf hoef bij te houden.

SUM telt toch resultaten van meerdere rijen op?
Is dat getal wat je optelt altijd hetzelfde?
Je kunt misschien ook gaan kijken naar triggers
Beide zijn zo te zien niet van toepassing. Zo te zien gaat het om een kolom een waarde te geven die gelijk is aan het id (in de auto_increment kolom) plus een willekeurig getal. Dat kan niet, aangezien tijdens het insert statement het id nog niet bekend is.
Misschien kan het met een trigger (maar daar heb ik te weinig ervaring mee), anders kan je het in een stored procedure doen. Daarin insert je eerst het record, dan lees je het id uit en vervolgens update je hetzelfde record voor die berekende kolom.
Is het niet handiger om die waarde die er bij moet op te slaan in een kolom? Die kun je in het ophalen wel samen voegen.
en hoe doe ik dat dan? Die waarde kan ik gewoon opslaan idd, blijft constant
Bij het ophalen heb je dan een query waarbij je het optelt.

SELECT
	id,
	velda,
	veldb,
	id+optel AS samen,
	veldx
FROM
	tabel

dat snap ik, ik wil het echter tijdens de CREATE query doen zodat automatisch bij een nieuwe record het veld OPTEL gevuld wordt met een bepaalde waarde (eventueel geselecteerd uit de database)
O, ik dacht dat je laatste vraag ging over mijn reactie.

Reageren