sql >> Databasteknik >  >> RDS >> Mysql

Kontrollera om det finns en rad med givna värden

Du måste göra en transaktion för detta.

Välj först.

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

Om nu ovanstående fråga väljer en eller flera rader så finns det redan en relation och om ingen rad (noll rader) så finns det ingen relation. För båda situationerna vidta åtgärder i enlighet med detta.

Se till att använda frågan enligt PHP- och SQL-syntax. Om ID:n är char eller varchar bör dessa i fråga omges av enkla eller dubbla kommatecken.

Så här:om ID:n är varchar eller char så

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

och om ID:n är int eller andra siffror (enligt kolumn i tabellen)

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

Se också till att kolumnnamnen och tabellnamnet jag har använt är korrekta.

Låt oss nu först köra frågan

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

Låt oss nu kontrollera hur många rader den har valt och vidta lämpliga åtgärder.

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
}

OBS: funktionerna mysql_query och mysql_num_rows är utfasade från och med PHP 5.5.0. Eftersom jag kodade i php för länge sedan, så jag kommer ihåg dessa just nu. Alternativ kan du hitta på php-webbplatsen. Men dessa funktioner fungerar fortfarande.http://php.net/manual/en /function.mysql-query.php ochhttp://php.net/manual/en/function. mysql-num-rows.php



  1. Bästa metoder för MySQL-säkerhetskopiering

  2. PHP Beräkna antalet downline i binärt träd

  3. Yttre transaktion i ett kapslat transaktionsanvändningsfall ser inte uppdateringar kvar i databasen (JPA, MySQL, Spring Framework och Hibernate)

  4. Sök post med apostrof i mysql-liknande fråga