Toon posts:

[MySQL] Custom auto_increment?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een ordernummer: 0403A1001

04 = jaar
03 = maand
A1 = klantcode
001 = volgnr; ofwel de auto increment...

Door 2 of eventueel 3 aparte velden te nemen is dit eenvoudig te doen. Maar ik wil juist dat bovenstaande automisch gegenereerd wordt in ÉÉN record.

In een MS Access database kun je dit soort zaken enigzins aanpassen. Kan dat met MySQL ook?

Als er een mogelijkheid is om 2 columns samen te voegen in de SELECT statement, is dat de meest ideale oplossing. Kan dat?

[ Voor 26% gewijzigd door Verwijderd op 17-03-2004 14:32 ]


  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

1. Losse velden in MySQL en voor er mee aan de slag te gaan via PHP (of elke andere taal) de veld-waardes aan elkaar plakken.

2. 1 veld in MySQL en de losse waardes aan elkaar plakken voor je ze in de database zet.

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • PhoeniX-
  • Registratie: Juni 2000
  • Laatst online: 29-04 09:11
Volgens mij kan dat niet .. Ik denk dat je er 2 of 3 velden van zal moeten maken, en dan adhv:

code:
1
 SELECT CONCAT(veld1, veld2, veld3)  FROM tablename

de velden dan weer aan elkaar moet plakken (ofzo?)

[ Voor 2% gewijzigd door PhoeniX- op 17-03-2004 15:53 . Reden: +moet :) ]


  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 14-05 15:52
als je een order invoegt in een tabel die de volgende kolommen heeft:

ID DATUM KLANTCODE

kun je het ordernummer er zo weer uithalen.
code:
1
2
SELECT CONCAT(LPAD(YEAR(datum),2,'0'),LPAD(MONTH(datum),2,'0'),
                   klantcode,LPAD(MONTH(id),3,'0') as ordernummer FROM table


Wat doe je overigens als je id groter wordt dan 999 :?

Verwijderd

Topicstarter
beetle71 schreef op 17 maart 2004 @ 15:52:
Wat doe je overigens als je id groter wordt dan 999 :?
Dat gebeurd niet :-) Een werknemer kan namelijk per maand niet meer dan ongeveer 150 tot 200 orders verwerken...