Jonas Delfs wrote:
> Hej gruppe
>
> Kan jeg med én forespørgsel indsætte en række i en tabel, med den
> betingelse at der ikke allerede eksisterer en række med samme primary
> key? Altså lidt modsat REPLACE INTO der jo netop overskriver hvis
> rækken allerede eksisterer.
> Logisk nogle a'la:
>
> INSERT INTO <table> SET added=NOW() IF (SELECT COUNT(id) FROM <table>
> WHERE id=39887) == 0
>
> På forhånd tak!
Brug INSERT IGNORE
Og i den forbindelse så er der også ON DUPLICATE KEY
F.ex: (Inspireret af
http://dev.mysql.com/doc/refman/5.0/en/insert.html)
site_id er unikt index:
INSERT INTO logs (`site_id`, `added`,`hits`) VALUES (1,NOW(), 1) ON
DUPLICATE KEY UPDATE hits=hits+1;
Leif