यहाँ उत्तर है, जैसा कि अलेक्जेंड्रे द्वारा सुझाया गया है:
जब आप 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 के लिए सही मान लौटाएगा।