Mysql
 sql >> база данни >  >> RDS >> Mysql

получаване на mysql_insert_id(), докато използвате ON DUPLICATE KEY UPDATE с PHP

Ето отговора, предложен от Александър:

когато използвате id=LAST_INSERT_ID(id), той задава стойността на mysql_insert_id =актуализирания идентификатор - така че крайният ви код трябва да изглежда така:

<?
    $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();

Това ще върне правилната стойност за $my_id независимо от актуализацията или вмъкването.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. МИНУС оператор в MySQL?

  2. MySQL regexp много бавно от подобно

  3. mySQL грешка:#1248 - Всяка извлечена таблица трябва да има свой собствен псевдоним

  4. MySQL GROUP BY множество колони от различни таблици

  5. Изтрийте много редове от таблица, като използвате id в Mysql