sql >> Databáze >  >> RDS >> Mysql

vyhnout se souběžnému vkládání více stejných id do mysql

Chcete použít sekvenci .

Dvě upozornění:

  • AUTO_INCREMENT funkce popsaná v článku je nestandardní a může způsobit problémy s přenositelností při přesunu do jiné databáze.

  • Pokud INSERT je přerušeno, číslo ze sekvence se stále spotřebovává, takže můžete skončit s dírami v sekvenci. Pokud je to nepřijatelné, použijte automaticky vygenerovanou sekvenci pro primární (náhradní) klíč a přidejte samostatnou mapu z tohoto klíče k „oficiálnímu“ sekvenčnímu číslu, čímž zajistíte jedinečnost indexu této tabulky.

Alternativou je vynutit UNIQUE v databázi použijte vhodnou TRANSACTION ISOLATION LEVEL a přidejte aplikační logiku pro zpracování selhání do INSERT .



  1. PostgreSQL:Najděte oprávnění pro element, přejděte až do rootu

  2. Najděte nejbližší datum na serveru SQL Server

  3. SQL dotaz Vybrat první pořadí 1 řádek z více úrovní/skupiny

  4. Pomocí oci_parse a oci_execute