Toon posts:

[MySQL] id een random waarde van 5 cijfers geven??

Pagina: 1
Acties:
  • 183 views sinds 30-01-2008

Verwijderd

Topicstarter
IK heb een tabel gemaakt met:
Tabel klantgegevens
klantennummer, (INT)11, NOT NULL en primary
naam, (VARCHAR)30, NOT NULL
enz.

Nu geeft MySQL een default van 0 aan klantennummer en ik heb automatisch laat optellen 1. Nu wil graag dat de waarde die neergezet wordt bij klantnummer een waarde van 5 cijfers is die random gekozen wordt. Hoe moet dat :? ??

<? php
$SQL = "INSERT INTO klantgegevens (klantennummer, naam, enz) VALUES ('$klantennummer', '$naam', '$enz')";
?>
DIt gebruik ik nu

Wie kan mij helpen ;)

  • whoami
  • Registratie: December 2000
  • Laatst online: 19:30
Waarom wil je dat doen? Als je een random waarde wilt gaan optellen bij een bepaald id, dan bestaat de kans dat je id niet meer uniek zal zijn, dus, zal je iedere keer moeten gaan checken of dit id al bestaat, en indien het al bestaat een nieuw id generen. -> tijdrovend.

https://fgheysels.github.io/


  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 21:58
Heeft nogal wat voeten in de aarde hoor, aangezien MySQL dit niet native ondersteund... Wat je moet doen is een table locken, zelf een id genereren, checken of die niet bestaat, je insert doen en lock weer vrijgeven. Maar als je echt veel insert's achterelkaar hebt, kan het best wel traag gaan worden vrees ik..

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

Is auto_increment niet de oplossing? of wil je perse dat het een random waarde is.. ?

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Verwijderd

Topicstarter
Ik krijg nu klantennummers van 1, 2, 3, 4, enz.
Dat wil ik niet, ik wil graag dat ze allemaal een 5 cijferige cide krijgen zoals; 10001, 10002, 10003, enz.
Dat mag ook, het hoeft niet specifiek random te zijn, maar dat leek me wel een leuk idee, maar als dat niet zo makkelijk gaat gebruik ik dat niet.

Maar kan iemand me dan helpen om aan klanten nummers de waardes 10001, 10002, enz te geven i.p.v. 1, 2, enz

Thx :P

Verwijderd

Topicstarter
[b] Maar als je echt veel insert's achterelkaar hebt, kan het best wel traag gaan worden vrees ik..
Hoe maak je meerdere insert's acheter elkaar dan??
Ik kan nu maar een insert per query maken??
Of doe ik wat fout dan??

  • Birk
  • Registratie: Maart 2002
  • Laatst online: 15-02-2019
Op dinsdag 28 mei 2002 10:17 schreef Cybermol het volgende:
Maar kan iemand me dan helpen om aan klanten nummers de waardes 10001, 10002, enz te geven i.p.v. 1, 2, enz
Klantnummer + 10000 >:)

Dyslexie | Linux | MoZilla | OpenOffice


  • whoami
  • Registratie: December 2000
  • Laatst online: 19:30
Kan je niet aangeven vanaf welke waarde een auto-incr. veld moet starten? Ik denk dat je dat in SQL Server wel kunt.

https://fgheysels.github.io/


Verwijderd

Topicstarter
<? php
$SQL = "INSERT INTO klantgegevens (klantennummer, naam, enz) VALUES ('$klantennummer+10000', '$naam', '$enz')";
?>

Dus zo, of niet

  • Birk
  • Registratie: Maart 2002
  • Laatst online: 15-02-2019
Op dinsdag 28 mei 2002 10:25 schreef Cybermol het volgende:
Dus zo, of niet
Dat zou 1 methode zijn niet php technische bekeken

Dyslexie | Linux | MoZilla | OpenOffice


Verwijderd

Topicstarter
Op dinsdag 28 mei 2002 10:27 schreef Birk het volgende:

[..]

Dat zou 1 methode zijn niet php technische bekeken
Wat zijn de alternatieven??
of werkt dat gewoon ('$klantennummer+10000')??

  • Birk
  • Registratie: Maart 2002
  • Laatst online: 15-02-2019
Ik weet niet of dit mogelijk is in PHP maar dan zou dit ook een prima oplossing zijn:
Op dinsdag 28 mei 2002 10:25 schreef whoami het volgende:
Kan je niet aangeven vanaf welke waarde een auto-incr. veld moet starten? Ik denk dat je dat in SQL Server wel kunt.
En ik denk dat het gewoon moet werken, hij genereerd dan nummer 1 en dan doet hij plus 10000 is dus 10001

Methode : Try and error ;)

Dyslexie | Linux | MoZilla | OpenOffice


Verwijderd

Topicstarter
Methode : Try and error ;)
Dat blijft de beste oplossing :Y)

Verwijderd

Topicstarter
[quote
Methode : Try and error ;)
[/quote]

Dat blijft de beste oplossing :Y)

Verwijderd

Je kunt toch ook gewoon een record inserten met klantnummer 10000.
Een soort van dummyklant.
Vervolgens gaat de auto_increment dan verder met 10001.

  • Birk
  • Registratie: Maart 2002
  • Laatst online: 15-02-2019
Op dinsdag 28 mei 2002 10:39 schreef Cybermol het volgende:
Dat blijft de beste oplossing :Y)
Werkt altijd ;)

Dyslexie | Linux | MoZilla | OpenOffice


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Toch echt allemaal stiekum manual werk.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1

Dit topic is gesloten.