Ik heb een tabel met een order id kolom. Die kolom ziet er als volgt uit:
Bijvoorbeeld: 33.1000
33 is het id van de gebruiker, en 1000 is het aantal orders (totaal, dus 33.1000 kan worden opgevold door bijvoorbeeld 50.1001, 62.1002 etc).
Het account id sla ik los op in de order tabel maar ik zou niet weten hoe ik die plak aan een order id kolom met daarnaast een auto increment na de punt die begint bij 1000.
@Ivo, ja ik sla die informatie ook los op zoals je aangeeft. Het lijkt me mooi als alle data gewoon in de database gelijk goed staat in plaats van dat ik via PHP later dingen moet gaan combineren zoals ik het wil.
maar bedenk ook wat je je op je hals haalt als je afgeleide data ook opslaat:
Wat als iemand bedenkt dat je in plaats van 33.1000 toe liever 33-1000 op je factuur ziet?
Wat als een order om een of andere reden omgezet wordt van klantnummer 88 naar klantnummer 33 omdat hij er achter kwam dat er al een account was van hem?
Je kunt trouwens ook een VIEW overwegen voor je (afgeleide) data.
[quote="Ozzie PHP op 03/02/2021 13:42:29"]
Maak je toevallig gebruik van PHPMyAdmin? Zo ja, dan kun je dat daar gewoon eenvoudig mee instellen.
Ja ik gebruik inderdaad phpmyadmin. Hoe kan ik dat daar instellen? Met een trigger oid? Ik zou alleen niet weten wat dan in die trigger te zetten.
[/quote]
Ik heb wellicht te snel gelezen. Ik dacht dat je vraag was hoe je een autoincrement op een kolom moet instellen.
>> 33 is het id van de gebruiker, en 1000 is het aantal orders
Als ik je goed begrijp wil je in 1 en dezelfde kolom het id van de gebruiker opslaan en het totaal aantal van alle aanwezige orders?
WAt hebben die 2 met elkaar te maken, en waarom zou je die in 1 kolom opslaan? Graag wat meer uitleg.
@ozzie Ik heb beide waardes los maar wil ze graag samengevoegd opslaan in een derde kolom. Mijn tabel `orders` heeft nu als eerste een auto increment veld `id` en een veld `account_id` ik wil graag bij elke insert beide samenvoegen in de kolom `order_id` als volgt: id.account_id dus bijv: 33.1002. Zodat ik die overal kan gebruiken in facturen, mails order tabellen etc zonder dat ik keer op keer die waardes in php moet samenvoegen.
Ik weet dat het kan maar de vraag was dus even hoe.
Dat hoef je trouwens niet in PHP samen te voegen, dat kan ook in de query (die je een beetje centraal hebt staan en niet 10x verspreid door 7 scripts)
SELECT id, klant_id, aantal, what, ever, CONCAT(klant_id, '.', getal) AS geformateerdnummer
FROM tabel
Maar dan zou je ook in een view kunnen doen.
Ik heb het idee dat de waarde 1000 ook niet ergens vastligt, maar nog berekend moet worden.
(iets als "aantal regels in een zekere tabel" + 1000 ?)
Dat mag jij denken, maar denk je ook dat de Belastingdienst het geen probleem vindt als jouw ordernummers niet op normale wijze oplopen? Je combineert 2 dingen met elkaar die niks met elkaar te maken hebben.
Dat mag hè ... het is jouw systeem. Alleen wijs ik je er nu alvast op dat het niet verstandig is. Of jij daar iets mee doet, is aan jou.