MySQL vraagje

Alles over programmeren en development binnen de IT-wereld
Plaats reactie
Gebruikersavatar
krisken
userbase crew
userbase crew
Berichten: 19763
Lid geworden op: 07 nov 2006, 12:11
Twitter: kriskenbe
Locatie: Massemen - 91WET0
Uitgedeelde bedankjes: 1857 keer
Bedankt: 1035 keer

Ik heb momenteel het volgende "probleem", misschien dat iemand hier het antwoord kent :-)

In een MySQL database krijgt elke datarij een uniek ID (type : INT, lengte : 11, auto_increment aan).
Normaliter krijgt de eerste datarij dus het ID1, de tweede datarij het ID2, etc etc etc.
Nu heb ik via phpmyadmin alle testdata verwijderd, en dacht ik dat MySQL terug zou beginnen tellen vanaf ID1.
Helaas verkeerd gedacht : ondanks dat alles leeg is, telt MySQL vrolijk verder vanaf het vorige nummer (57 in dit geval).

Iemand een idee hoe ik dit kan voorkomen?

Merci!

Internet = Orange 150/15Mbps + WirelessBelgië
Telefonie = EDPnet + OVH
GSM = Orange Go Extreme SE + Scarlet Red
TV = TVV App + Netflix + Disney+ + Streamz
Netwerk = Mikrotik + Ubiquiti
Gebruikersavatar
xming
Pro Member
Pro Member
Berichten: 434
Lid geworden op: 06 okt 2005, 10:35
Uitgedeelde bedankjes: 9 keer
Bedankt: 47 keer

probeer eens

Code: Selecteer alles

ALTER TABLE `table` AUTO_INCREMENT = 1
Gebruikersavatar
FunkStar
Elite Poster
Elite Poster
Berichten: 1537
Lid geworden op: 06 okt 2009, 18:31
Uitgedeelde bedankjes: 191 keer
Bedankt: 95 keer

Xming is correct, meer info op onderstaande link

http://www.w3schools.com/sql/sql_autoincrement.asp
Afbeelding
ITnetadmin
userbase crew
userbase crew
Berichten: 9574
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 248 keer
Bedankt: 774 keer
Recent bedankt: 8 keer

Waarom de aanpassing, als ik vragen mag?

[Afbeelding Post made via mobile device ]
Gebruikersavatar
krisken
userbase crew
userbase crew
Berichten: 19763
Lid geworden op: 07 nov 2006, 12:11
Twitter: kriskenbe
Locatie: Massemen - 91WET0
Uitgedeelde bedankjes: 1857 keer
Bedankt: 1035 keer

Omdat ik graag terug vanaf ID1 wil beginnen.
Dit omdat het ID publiek word gemaakt en het nogal raar overkomt dat je bvb ID 40202 krijgt als eerste inschrijving (fictief).

Internet = Orange 150/15Mbps + WirelessBelgië
Telefonie = EDPnet + OVH
GSM = Orange Go Extreme SE + Scarlet Red
TV = TVV App + Netflix + Disney+ + Streamz
Netwerk = Mikrotik + Ubiquiti
Gebruikersavatar
xming
Pro Member
Pro Member
Berichten: 434
Lid geworden op: 06 okt 2005, 10:35
Uitgedeelde bedankjes: 9 keer
Bedankt: 47 keer

IMHO het is nooit een goed idee om auto increament terug te draaien tenzij je volledig opnieuw begint (dan kan je ook best drop table doen) of je weet echt waar je ermee bezig bent.
ubremoved_539
Deel van't meubilair
Deel van't meubilair
Berichten: 29849
Lid geworden op: 28 okt 2003, 09:17
Uitgedeelde bedankjes: 434 keer
Bedankt: 1972 keer

krisken schreef:Dit omdat het ID publiek word gemaakt
Regel nummer één in databases... het auto increment veld mag NOOIT een "functionele" toepassing hebben en dus al zeker nooit zichtbaar zijn.

Dergelijke velden zijn om relaties te leggen in je database en niets anders.... zoniet ga je vroeg of laat veel ellende hebben.
ITnetadmin
userbase crew
userbase crew
Berichten: 9574
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 248 keer
Bedankt: 774 keer
Recent bedankt: 8 keer

Ben daar ook geen fan van. Doe een eigen telling.

[Afbeelding Post made via mobile device ]
Gebruikersavatar
krisken
userbase crew
userbase crew
Berichten: 19763
Lid geworden op: 07 nov 2006, 12:11
Twitter: kriskenbe
Locatie: Massemen - 91WET0
Uitgedeelde bedankjes: 1857 keer
Bedankt: 1035 keer

Ik zal het kort even omschrijven...

Ongeveer een jaar terug heb ik (samen met een ander persoon) iets in elkaar gebokst om een messageparty te organiseren (op vraag van een jongerenvereniging). Dit werkt met een raspberry pi en een 3G stick.

Om je te registreren stuur je "reg <naam> <email> naar het nummer van de SIM kaart in je 3G stick. Zo zal je geregistreerd worden in de database.

Op dat moment stuurt de SMS gateway 2 smsjes:
- 1 naar de organisator : Nieuwe gebruiker : {NAAM} met gsm nr {GSMNR} en email {EMAIL} is ingeschreven met volgnummer {VOLGNR}.
- 1 naar de geregistreerde : 'U bent geregisteerd in het systeem, U kunt uw nummer afhalen bij de inkom.'

In het controlpanel moet de organisator aanvinken dat de geregistreerde is langs geweest en hij/zij zijn nummer heeft ontvangen. Vanaf dan kan het lid smsjes sturen met het keyword "chat" (je boodschap word voorafgegaan door je nummer) of "pvt" (private message : je boodschap word voorafgegaan door het woord "private").

Het nummer dat je krijgt is eigenlijk het ID in de database.

Internet = Orange 150/15Mbps + WirelessBelgië
Telefonie = EDPnet + OVH
GSM = Orange Go Extreme SE + Scarlet Red
TV = TVV App + Netflix + Disney+ + Streamz
Netwerk = Mikrotik + Ubiquiti
ITnetadmin
userbase crew
userbase crew
Berichten: 9574
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 248 keer
Bedankt: 774 keer
Recent bedankt: 8 keer

Als het niet echt uitmaakt kan je het van mij gerust doen.
Als het om een userlist gaat die permanenter is, raad ik niet aan om een volgnummer auto increment te maken.

[Afbeelding Post made via mobile device ]
Gebruikersavatar
krisken
userbase crew
userbase crew
Berichten: 19763
Lid geworden op: 07 nov 2006, 12:11
Twitter: kriskenbe
Locatie: Massemen - 91WET0
Uitgedeelde bedankjes: 1857 keer
Bedankt: 1035 keer

Probleem is dat het nu reeds te laat is : tis al gemaakt en werkte vorig jaar perfect. Echter wilt men nu opnieuw die messageparty doen. Dus ik heb de SD kaart even terug opgezocht, alle db's geledigd en ik dacht dat het nu vanaf 1 terug zou beginnen. Helaas...

Internet = Orange 150/15Mbps + WirelessBelgië
Telefonie = EDPnet + OVH
GSM = Orange Go Extreme SE + Scarlet Red
TV = TVV App + Netflix + Disney+ + Streamz
Netwerk = Mikrotik + Ubiquiti
ITnetadmin
userbase crew
userbase crew
Berichten: 9574
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 248 keer
Bedankt: 774 keer
Recent bedankt: 8 keer

Ik zeg het nogmaals: als het niet over een permanente db gaat (je kan hem na ieder gebruik wissen) maakt het niet echt uit. Als het echt een probleem moest geven moet je de db structuur maar eens in sql exporteren en editen, dan kan je hem elk jaar van nul opbouwen.

[Afbeelding Post made via mobile device ]
Gebruikersavatar
krisken
userbase crew
userbase crew
Berichten: 19763
Lid geworden op: 07 nov 2006, 12:11
Twitter: kriskenbe
Locatie: Massemen - 91WET0
Uitgedeelde bedankjes: 1857 keer
Bedankt: 1035 keer

Mysterie opgelost : gewoon in phpmyadmin de tabellen aanvinken en dan klikken op "legen". En je begint terug op 1 :-)
Voor wie interesse heeft zal ik straks eens de demo online zetten op Userbase...

Internet = Orange 150/15Mbps + WirelessBelgië
Telefonie = EDPnet + OVH
GSM = Orange Go Extreme SE + Scarlet Red
TV = TVV App + Netflix + Disney+ + Streamz
Netwerk = Mikrotik + Ubiquiti
Plaats reactie

Terug naar “Development”