GEEN reset naar auto_increment 1 na DELETEN

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

NiVin

niVin

20/07/2008 13:02:00
Quote Anchor link
middag,

Bij het deleten van alle rijen van een tabel wordt het id kolom(auto_increment) bij het invullen van een nieuwe rij niet 1, maar gaat hij verder met tellen waar hij gebleven was voor het deleten.

Geen idee hoe ik dit kan oplossen zonder de tabel te verwijderen en opnieuw aan te maken..

Iemand een idee?

gr Vincent
 
PHP hulp

PHP hulp

28/04/2024 21:48:05
 
Joren de Wit

Joren de Wit

20/07/2008 13:06:00
Quote Anchor link
De enige reden waarom je hier ooit verandering in zou willen brengen is omdat je tegen een limiet van de database aanloopt. Maar goed als je een BIGINT gebruikt voor die kolom met auto_increment, kun je welgeteld 18446744073709551615 records kwijt in die tabel. Lijkt me sterk dat je dat al gehaald hebt.

Zolang je die reden niet hebt, zou ik gewoon met mijn vingers van de auto_increment afblijven. Die genereert alleen een unieke waarde waaraan een record herkend kan worden. Het maakt echter niet uit of dat nu de waarde 1, 9275 of 120 is, dat is voor de database allemaal hetzelfde.

ps. Als je overigens TRUNCATE gebruikt om de tabel te legen, wordt ook de auto_increment gereset. Maar goed, nodig is het niet...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
NiVin

niVin

20/07/2008 13:09:00
Quote Anchor link
IK gebruik de id in dit geval als een teller voor het aantal bezoekers van een enquete. ik wil er bv maar 100 hebben dus kan ik dat dan mooi zien aan de id..

TRUNCATE zal ik eens proberen.
 
Joren de Wit

Joren de Wit

20/07/2008 13:19:00
Quote Anchor link
Quote:
IK gebruik de id in dit geval als een teller voor het aantal bezoekers van een enquete
En dat is dus precies iets waar je het id niet voor kunt gebruiken! Een id wordt alleen gebruikt om records uniek aan te duiden, verder kun je er helemaal niets aan afleiden...

Als je wilt weten hoeveel records je in een tabel hebt, voer je een query met COUNT() uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT
  COUNT(id) AS aantal
FROM
  tabel
 
NiVin

niVin

20/07/2008 13:23:00
Quote Anchor link
waarom zou dat niet kunnen dan? BTW het veld heet niet id maar respID. Naar mijn idee kan ik gewoon checken of respID de waarde 100 geeft behaald.........
Gewijzigd op 01/01/1970 01:00:00 door niVin
 
Jurgen assaasas

Jurgen assaasas

20/07/2008 13:32:00
Quote Anchor link
En als je nou eens een record verwijderd? Dan heb je er maar 99 en mis je er dus 1, niet erg handig. Gewoon de methode van Blanche gebruiken, we proberen je het goed aan te leren, blijf je eigenwijs en ga je je eigen gang zien we hier over een tijd waarschijnlijk weer een topic dat heel je database over hoop ligt.
 
Joren de Wit

Joren de Wit

20/07/2008 13:33:00
Quote Anchor link
Stel nu dat er records verwijderd worden uit de tabel? Of dat er een keer iets fout gaat met het invoegen van record? In beide gevallen loopt de auto_increment door en als deze op 100 staat zullen er geen 100 records in de tabel aanwezig zijn.

En als je later een tweede enquete wilt houden, ga je dan je script aanpassen omdat er dan gekeken moet worden naar wanneer het id 200 is? Of ga je soms je hele tabel weer legen en zo alle data van de vorige enquete verliezen?

Nee, kies gewoon voor zekerheid en tel de records in een tabel als je het aantal nodig hebt. En dat tellen doe je dus zoals ik al liet zien met een query met COUNT()...
 
NiVin

niVin

20/07/2008 14:01:00
Quote Anchor link
Jullie hebben gelijk. Ik zie nu idd in dat de methode van Blanche veiliger is. Bedant voor de tips!

Zal zeker de COUNT functie gebruiken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.