[TYPO3-german] Insert Into Select Query

bernd wilke t3ng at bernd-wilke.net
Thu Apr 23 15:05:02 CEST 2015


Am 23.04.15 um 12:44 schrieb Michael Kasten:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hallo Bernd
>
> danke für den Tip, das war so ziemlich genau die Methode die ich gesucht habe: zwischenzeitlich
> hatte ich das in der Iteration der ersten Abfrage drin:
>
> $res=$GLOBALS['TYPO3_DB']->exec_SELECTquery('*',$dbtable,$where);
> while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
>    $GLOBALS['TYPO3_DB']->exec_INSERTquery( $backuptable, $row);
>   }
>
> ist aber mit Sicherheit keinen Performance Preis würdig ;)

wie wärs denn mit:

$data = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('*', $dbtable, $where);
$GLOBALS['TYPO3_DB']->exec_INSERTmultipleRows($backuptable,'???',$data);

bei '???' musst du wohl alle Felder benennen.


> Die Frage die man sich hier dann stellt:
>> Executes a query. EXPERIMENTAL since TYPO3 4.4.
>
> Kann es sein das die Methode dann auch mal wieder verworfen wird, seit 4.4 ist auch schon wieder
> etwas Zeit vergangen, ich kenne die Anforderungen nicht damit diese Methode dann auch regulär zur
> DB API gehört (der Anspruch jegliche query statements fehlerfrei parsen zu können wäre imho etwas
> hoch gegriffen, oder?)

nun ja. das ist erstmal die API-Dokumentation der 6.2, also LTS und 
mindestens eine Weile nutzbar.

wenn ich das richtig verstehe bezieht sich das "experimental" auf die 
Umsetzung aller möglichen Queries auf andere Datenbanken mit dbal. Wobei 
dieses Query eines von denen sein dürfte, die dort eher nicht abgedeckt 
sind.


bernd
-- 
http://www.pi-phi.de/cheatsheet.html


More information about the TYPO3-german mailing list