phpbar.de logo

Mailinglisten-Archive

Insert Query limitieren

Insert Query limitieren

Sebastian Mendel lists at sebastianmendel.de
Fre Sep 17 11:04:41 CEST 2004


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