sql >> Database >  >> RDS >> Mysql

Invoegen in een automatisch ophogingsveld

Ok, voordat je het antwoord op je vraag krijgt, moet ik je waarschuwen voor extreem slechte gewoonte die je daar probeert te doen. Begrijp me niet verkeerd, velen hebben geprobeerd te doen wat u doet en het is gewoon niet de manier waarop dingen zouden moeten werken.

Uw auto_incremented ID is een primaire sleutel. Primaire sleutel wordt gebruikt om een ​​rij in een tabel uniek te identificeren. Dat is het. Het heeft verder geen speciale betekenis.

Dus wat betekent dat voor jou? Het betekent dat uw idee dat u 1 - 10k voor beheerders "reserveert", slecht is. Waarom is het slecht? Omdat je knoeit met de primaire sleutel. Je zou nooit moeten beslissen wat de waarde van de primaire sleutel zou moeten zijn, dat is de taak van databases om vele redenen (consistentie bijvoorbeeld). De andere reden waarom het slecht is, is dat je iemand hebt beperkt tot slechts 10.000 mogelijke invoer. ga je berekenen wat de volgende invoer voor beheerders is? Wat als u 1, 2, 3, 4 hebt ingevoerd en vervolgens de invoer met ID =3 verwijdert? Wat gebeurt er dan? Wat is uw volgende in de reekswaarde? 3 of 5?

Dat gezegd hebbende, moet u waarschijnlijk uw strategie heroverwegen. Waarom voegt u geen veld "isAdmin" toe dat u vertelt of een beheerder iets heeft gepost of niet?




  1. Hoe een vervolgkeuzemenu te maken

  2. Meteoor gebruiken met postgresql

  3. Generated Value in Postgres

  4. hoe saldi in een boekhoudsoftware te berekenen met behulp van de postgres-vensterfunctie