sql >> データベース >  >> RDS >> Mysql

指定された値の行が存在するかどうかを確認します

    このための取引を行う必要があります。

    最初に選択を実行します。

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

    上記のクエリで1つ以上の行が選択された場合、すでにリレーションが存在し、行がない場合(ゼロ行)、リレーションはありません。どちらの状況でも、それに応じて行動を起こします。

    必ずPHPおよびSQL構文に従ってクエリを使用してください。 IDがcharまたはvarcharの場合、クエリではこれらを1つまたは2つのコンマで囲む必要があります。

    このように:IDがvarcharまたはcharの場合、

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

    IDがintまたはその他の桁の値である場合(表の列による)

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

    また、使用した列名とテーブル名が正しいことを確認してください。

    それでは、最初にクエリを実行しましょう

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

    次に、選択した行数を確認して、適切なアクションを実行しましょう。

    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
    }
    

    注: 関数mysql_queryおよびmysql_num_rowsは、PHP5.5.0で非推奨になりました。私はずっと前にphpでコーディングしたので、今はこれらを覚えています。代わりに、phpのWebサイトで見つけることができます。ただし、これらの関数は引き続き機能します。 http://php.net/manual/en /function.mysql-query.php および http://php.net/manual/en/function mysql-num-rows.php



    1. Rows_sent:12 Rows_examined:549024-mySQLクエリを最適化する方法は?

    2. mysqlデータベースのサイズを取得する方法は?

    3. バッチを使用したJDBCの削除と挿入

    4. SQLServerのデッドロックの構造とそれらを回避するための最良の方法