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

získání mysql_insert_id() při použití ON DUPLICATE KEY UPDATE s PHP

Zde je odpověď, jak navrhl Alexandre:

když použijete id=LAST_INSERT_ID(id), nastaví hodnotu mysql_insert_id =aktualizované ID – takže váš konečný kód by měl vypadat takto:

<?
    $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 vrátí správnou hodnotu pro $my_id bez ohledu na aktualizaci nebo vložení.



  1. C# Chyba MySQL Počet sloupců neodpovídá počtu hodnot na řádku 1

  2. Jedinečné omezení tabulky SQLite a použití ON CONFLICT REPLACE

  3. Konstrukce SQL dotazu - rozdělení dat ve sloupci do dvou sloupců

  4. Žádné namapované entity ORM Doctrine podle aktuální konfigurace