Sein PHP MYSQL:Sie können keine Zieltabelle 'prodt' for update angeben, in FROM-Klausel
ich einen Tisch prodt haben, in dem ich einen Wert INSERT ersten und mit seiner letzten INSERT ID tun i-Update für MAX + 1, wie unten, aber ich bin immer ERROR
Sie nicht Zieltabelle 'prodt' for update in FROM-Klausel
$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());
}
Hinweis angeben: pdname nicht String ist ... seine Nummer nur zB: 1234, also 1234 + 1 wird o utput mich 1235
Nach Forschung habe ich versucht, unten:
$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());
}
Aber es ist immer noch nicht funktioniert ... noch gleiche Nachricht bekommen ... bitte helpme
Hinweis: über erste Abfrage funktioniert gut in meiner WAMP2.5 Version, heute habe ich zu WAMP3.0 nur aktualisieren und beginnen Fehler immer für gleiche ....
Dank
irgendeine ... hier ??? – user3209031
einige Beispiele hier: http://stackoverflow.com/questions/2334712/update-from-select-using-sql-server – xQbert
Was ist der Fehler, den Ihre zweite Frage Ihnen gibt? Ist es der gleiche Fehler? – Keeleon