WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   MySQL (https://www.wn.se/forum/showthread.php?t=637)

Jens 2003-10-31 17:23

Hur kollar man på snabbaste sätt ifall en rad redan existerar i en databas?

Vad jag vill göra är att kolla ifall en textsträng redan existerar på någon rad i databasen.

Jag har 2 fält i tabellen, fras och antal. Vad programmet ska göra är att kolla om $fras redan existerar ... gör den det så blir det en UPDATE och antal plusas på med 1. Gör den inte det så ska det bli en INSERT.

Alternativ är att göra en helt vanlig selectfråga. SELECT fras COUNT(*) FROM tabell WHERE fras='$fras'. Men finns det något smidigare och snabbare sätt? Databasen kommer nämligen bli rätt stor. MySQL manualen gör mig lite förvirrad också...

Anders 2003-10-31 17:38

Vad använder du för språk? I PHP blir det såhär:
Kod:

$que = "UPDATE tabell SET antal=antal+1 WHERE fras='$fras'";
$res = mysql_query( $que );

if (mysql_affected_rows() != 1)
{
// Inte uppdaterad => finns ingen sen tidigare
$que = "INSERT INTO tabell SET antal=0, fras='$fras'";
$res = mysql_query( $que );
}

tror jag. :unsure: Nu är detta bara snabbt nerkladdat... säkerhet mm får du fixa själv... :)

Jens 2003-10-31 17:45

Jepp, det är PHP!

Tackar! Det var ett bra exempel :) borde jag klarat själv hehe .. men inte idag verkar det som.

Anders 2003-10-31 18:09

Hehe, jo man har sina ups and downs... se bara på Ericsson... :P


Alla tider är GMT +2. Klockan är nu 19:38.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson