sql >> Databasteknik >  >> RDS >> Mysql

undvika samtidiga infoga flera samma id i mysql

Du vill använda en sekvens .

Två varningar:

  • AUTO_INCREMENT Funktionen som beskrivs i artikeln är icke-standard och kan ge problem med portabilitet när du flyttar till en annan databas.

  • Om en INSERT avbryts, konsumeras ett nummer från sekvensen fortfarande, så du kan sluta med hål i sekvensen. Om det är oacceptabelt, använd en autogenererad sekvens för den primära (surrogat)nyckeln och lägg till en separat karta från den nyckeln till det "officiella" sekvensnumret, vilket framtvingar unikhet i tabellens index.

Alternativet är att genomdriva UNIQUE ness i databasen, använd en lämplig TRANSACTION ISOLATION LEVEL och lägg till programlogik för att hantera fel på INSERT .



  1. Exportera Oracle-frågeresultat till en HTML-fil när du använder SQLcl

  2. MySQL - automatiskt minskande värde

  3. Skapa en lagrad procedur att lägga till med automatisk ökning som primärt fält?

  4. MySQL-utlösare för att kontrollera värden innan du infogar flera gånger