sql >> Database teknologi >  >> RDS >> Mysql

henter mysql_insert_id() mens du bruger ON DUPLICATE KEY UPDATE med PHP

Her er svaret, som foreslået af Alexandre:

når du bruger id=LAST_INSERT_ID(id) angiver det værdien af ​​mysql_insert_id =det opdaterede ID-- så din endelige kode skal se sådan ud:

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

Dette vil returnere den rigtige værdi for $my_id uanset opdatering eller indsættelse.



  1. SQL undtagen

  2. Sådan løses ORA-06512 på linjenummer

  3. Håndtering af frysning i PostgreSQL

  4. MySQL InnoDB-begrænsning virker ikke