Its PHP MYSQL :
I have a table prodt , in which i first INSERT a value and with its LAST INSERT ID i do update for MAX + 1 as below , BUT I AM GETTING ERROR
You can't specify target table 'prodt' for update in FROM clause
$a = db_insert_id();
$sqllast = "UPDATE prodt SET
pdname= ((SELECT pdname FROM ( SELECT MAX( pdname ) AS pdname
FROM prodt
WHERE oid = ".db_escape($oid)." ) AS pdname ) + 1 ),
pcyn = ".db_escape(0)."
WHERE id = ".db_escape($a)."
AND oid= ".db_escape($oid)." ";
$resultsqllast = db_query($sqllast);
if((!$resultsqllast) || (db_mysql_affected_rows($db) <= 0)) {
throw new Exception('Wrong SQL UPDATE' . $sqllast . ' Error: '.db_error_msg($db) . db_error_no());
}
NOTE : pdname is not string ...its number only eg: 1234 , hence 1234+1 will output me 1235
After research i tried below :
$sqllast = "UPDATE prodt SET
pdname= ((SELECT pdname FROM ( SELECT MAX( pdname ) AS pdname
FROM ( SELECT * FROM prodt
WHERE oid = ".db_escape($oid)." )AS pdname ) AS pdname ) + 1 ),
pcyn = ".db_escape(0)."
WHERE id = ".db_escape($a)."
AND oid= ".db_escape($oid)." ";
$resultsqllast = db_query($sqllast);
if((!$resultsqllast) || (db_mysql_affected_rows($db) <= 0)) {
throw new Exception('Wrong SQL UPDATE' . $sqllast . ' Error: '.db_error_msg($db) . db_error_no());
}
But still its not working...getting still same message ...please helpme
Note : Above first query was working fine in my WAMP2.5 version , today only i update to WAMP3.0 and start getting error for same ....
Thanks