Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Problem z MySql INSERT MAX()+1

Możesz użyć czegoś takiego:

INSERT INTO users (user_id, name)
SELECT 1 + coalesce((SELECT max(user_id) FROM users WHERE name='Bob'), 0), 'Bob';

Ale takie zapytanie może prowadzić do sytuacji wyścigu. Upewnij się, że jesteś w transakcji i blokujesz tabelę użytkowników przed jej uruchomieniem. W przeciwnym razie możesz skończyć z dwoma Bobami o tym samym numerze.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ustaw nową wartość dla ft_min_word_len FULLTEXT w mysql

  2. Importuj pojedynczą bazę danych z --all-databases dump

  3. Błąd połączenia C# MySQL SSL podczas próby użycia conn.Open()

  4. Nie można wygenerować różnicy z wtyczki liquibase gradle

  5. XAMPP uruchamia się automatycznie przy starcie systemu Windows 7