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

uzyskiwanie mysql_insert_id() podczas używania ON DUPLICATE KEY UPDATE w PHP

Oto odpowiedź sugerowana przez Alexandre'a:

kiedy używasz id=LAST_INSERT_ID(id), ustawia wartość mysql_insert_id =zaktualizowany identyfikator -- więc twój ostateczny kod powinien wyglądać tak:

<?
    $query = mysql_query("
        INSERT INTO table (column1, column2, column3) 
        VALUES (value1, value2, value3) 
        ON DUPLICATE KEY UPDATE
            column1 = value1, 
            column2 = value2, 
            column3 = value3, 
            id=LAST_INSERT_ID(id)
    ");
    $my_id = mysql_insert_id();

To zwróci prawidłową wartość $my_id niezależnie od aktualizacji lub wstawienia.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ustawienie strony Django/MySQL do używania UTF-8

  2. Spring data JPA tylko jeden klucz złożony to problem z automatyczną inkrementacją

  3. Instrukcja przypadku w MySQL

  4. Wybór użytkowników, którym nie wysłano newslettera

  5. Data nie jest zapisywana w Mysql z formularza rejestracyjnego PHP