sql >> Database teknologi >  >> RDS >> Mysql

Tjek om der findes en række med givne værdier

Du skal foretage en transaktion for dette.

Udfør først valg.

SELECT * FROM following where idUser = $id AND followingID = $followingId

Hvis ovenstående forespørgsel nu vælger en eller flere rækker, eksisterer der allerede en relation, og hvis ingen række (nul rækker), så er der ingen relation. For begge situationer skal du handle i overensstemmelse hermed.

Sørg for at bruge forespørgslen i henhold til PHP- og SQL-syntaks. Hvis ID'er er char eller varchar, skal disse i forespørgslen være omgivet af enkelt- eller dobbeltkommaer.

Sådan:hvis ID'er er varchar eller char så

$query = "SELECT * FROM following where idUser = '".$id."' AND followingID = '". $followingId."'";

og hvis ID'er er int eller andre cifferværdier (i henhold til kolonne i tabellen)

$query = "SELECT * FROM following where idUser = ".$id." AND followingID = ". $followingId."";

Sørg også for, at de kolonnenavne og tabelnavne, jeg har brugt, er korrekte.

Lad os nu først udføre forespørgslen

$result = mysql_query($query); // this method works but is not preferred. better if insert query here instead of variable $query

Lad os nu tjekke, hvor mange rækker den har valgt, og tage passende handlinger.

if(mysql_num_rows($result) > 0){
    //do something here or show error because relation already exists
}
else{
   //relation already do not exists. so you can insert the record here
}

BEMÆRK: funktionerne mysql_query og mysql_num_rows er forældet fra PHP 5.5.0. Fordi jeg kodede i php for længe siden, så jeg husker disse lige nu. Alternativ kan du finde på php hjemmeside. Men disse funktioner virker stadig.http://php.net/manual/en /function.mysql-query.php oghttp://php.net/manual/en/function. mysql-num-rows.php



  1. Hvad er den bedste måde at samle databaseindsættelser på fra c#?

  2. Hvad er rækkefølgen af ​​poster i en tabel med en sammensat primærnøgle

  3. Er det muligt at oprette Oracle Database-objekttyper inde i PL/SQL?

  4. Hent dato/klokkeslæt fra et Unix-tidsstempel i SQLite