Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> PHP /MySQL Programmering >> Content

    MySQL Auto - ökning är ur synk

    Databastabeller har unika identifikationsnummer , som kallas primärnycklar , för varje enskild rad . MySQL : s auto - inkrementfunktion tilldelar automatiskt ett nytt nummer till ett heltal kolumnen som du anger som primär nyckel , vilket sparar dig den tid som behövs för att skapa en egen primärnyckel och spårningskod . Om du tappar rader faller dock din sekvens av auto - delproven värden ur synk med resten av kolumnvärdena . Auto - inkrementfunktion

    automatisk ökning funktionen fungerar genom att hålla ett register över radnumret identifiering på bordet själv . När du anger en särskild kolumn för automatisk ökning , när du lägger till en rad i den tabellen , fyller MySQL : s ISAM motorn automatiskt att kolonnen med ett numeriskt värde som är ett högre än det värde som identifierade den sista raden du lagt . Funktionen är inte beroende av data i dina rader själva , men sitt eget rekord i det sista värdet är tilldelat till en rad .
    Komma ur synk

    När du tar bort rader från tabellen , raderar du enskilda komponenter i sekvensen av siffror ISAM motorn tilldelats dina rader . Om du tar bort din fjärde raden , till exempel , då MySQL inte gå tillbaka och tilldela numeriska värden till fältet som automatiskt uppräkning , i syfte att bibehålla den numeriska sekvensen . Likaså om MySQL gav den sista raden du lagt en identifikation antal 20 och du tar bort det , tilldelar ISAM motorn fortfarande nästa rad du lägger till värdet av 21 .
    Auto - Öka Response

    eftersom syftet med automatisk ökning är att ge varje rad i din MySQL tabellen en unik identifierare , spelar det ingen roll om siffrorna den tilldelar som identifiering har hål i sekvensen eller inte . Det betyder bara att det inte finns två rader har samma ID-nummer . Program mönster som bygger på en oavbruten sekvens av siffror för att navigera i databasen tabellen är otillförlitliga , eftersom tappade databas rader kan göra dem fel . Laddar raden data i en array -liknande föremål och använda elementet indicies är en mer stabil strategi .
    Solution

    att hålla din auto - ökning kolumn i perfekt ordning , fixa hål när du släppa rader från tabellen . När du släpper hela kolumnen , kasserar MySQL också sitt eget rekord i nästa nummer kommer att använda för nästa rad du tilldela tabellen . När du återskapa kolonnen med samma auto - inkrement syntax , fyller MySQL automatiskt kolonnen med en ordnad sekvens av nummer för varje rad du för närvarande har i databasen . Men för att upprätthålla en perfekt sekvens , måste du upprepa detta steg varje gång du släpper en rad från tabellen .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man avgör om en fil är en bild i PHP
    ·Zend Utbildning för PHP
    ·Inaktivera PHP TextBox
    ·Hur Rotera MySQL Slow sökfrågeloggen
    ·Hur överföra värden till en funktion i PHP
    ·Hur man lägger en fråga i MySQL och DB2
    ·PHP-funktionen i en Cookie
    ·Hur Namnge en session i PHP
    ·Hur uppdatera sidan Efter 3 SEC i PHP
    ·Hur lägga upp PDF -filer i PHP
    Utvalda artiklarna
    ·Ta reda på vilken Check är markerad i Visual Basic Ne…
    ·Så tillbaka till Formulär1 från Form2 i Visual Basic…
    ·Hur Fyll DataSet & Bind DataGridView i olika trådar
    ·Hur man gör en knapp Array Använda ActionScript
    ·Komma åt underformulär Data
    ·Microsoft Word /Visual Basic Tutorial
    ·Hur man speglar en bilden vertikalt och horisontellt ge…
    ·Hur man återställer Trymedia Trial
    ·Hur Kontrollera domän tillgänglighet i PHP
    ·Hur får Window Storlek i VB6
    Copyright © Dator Kunskap http://www.dator.xyz