Mailinglisten-Archive |
Sacha Vorbeck schrieb:
> Hallo,
>
> ich hoffe der Betreff trifft es einigermassen. Mit folgender Query
> schreibe ich Datensätze in eine Zieltabelle:
>
> $insertQuery = "
> INSERT INTO `tx_seminar_location`
> ( `pid` , `ort` )
> VALUES
> (" . $this->pid . ", '" . $row['ort'] . "')
> ;
> ";
>
> Das Problem ist, dass ich viele Datensätze habe, die mehrfach
> vorkommen, ich aber jeweils nur einen Ort einfügen möchte.
nur einen Ort (oder jeder Ort nur einmal) einfügen (pro durchlauf), oder
darf generell jeder Ort nur einmal in der Tabelle sein?
> Gibt es da einen Mechanismus, der überprüft ob es bereits einen
> Datensatz mit dem Ort gibt und dann eben nicht einfügt? Sowas wie
> INSERTUNIQUE? Oder muss ich das mit einer vorgeschalteten SELECT
> query selber prüfen. Das erscheint mir unelegant.
du benötigst ein Index auf `ort`
REPLACE
http://dev.mysql.com/doc/mysql/en/REPLACE.html
INSERT ... ON DUPLIKATE KEY UPDATE ...
http://dev.mysql.com/doc/mysql/en/INSERT.html
--
Sebastian Mendel
www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com
www.sf.net/projects/phpdatetime www.sf.net/projects/phptimesheet
--
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive