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

存在しない場合はMYSQLデータベースに挿入します

    INSERT INTO  Customers (FirstName, Address, Phone) 
    SELECT * FROM (SELECT '$firstName', '$address', '$phone') AS tmp
    WHERE NOT EXISTS (
        SELECT FirstName from Customers WHERE FirstName= '$firstName'
    )   LIMIT 1;
    

    これにより、名に基づくことを防ぐことができます。これらの列をすべてチェックに使用できます。一致する列は電子メールであると想定しています。これを使用できます。

    アイデアを得るためにクエリ内にパラメータを追加しました。SQLインジェクションを回避するためにパラメータバインディングを使用してください。

    または

      select * from customers where .... // 
    

    結果セットのサイズを取得し、size > 0の場合 つまり、すでに行があるので、挿入しないでください。

    MySQLから取得したSQLステートメント:レコードを挿入する場合テーブルに存在しません 変更されました。



    1. IDの一致に基づいた1つのテーブルから別のテーブルへのSQL更新

    2. 文字列から日付や時刻を変換するときに変換に失敗しました

    3. SQLiteのCount()結果から重複を削除

    4. Oracleでxmlパスとして入力を渡して結果をプルできません