0

私のMYSQLクエリ

$db->query("INSERT INTO customers (first_name,last_name,address,city,state,zip,phone,dnc,user_id)
 VALUES ('$firstname','$lastname','$address','$city','$state','$zip','$phone','$dnc','$userid') ON DUPLICATE KEY UPDATE phone=phone");

私がやっていることは、顧客情報をデータベースに入れることです。各顧客がデータベースに 1 回挿入されていることを確認したかったのです。このクエリは、電話番号を一意のキーとして使用することで機能します。今私が抱えている問題は、データベースに顧客の重複を含めることができるようにしたいが、ユーザーごとの顧客の重複は避けたいということです。

私のアプリケーションでは、複数のユーザーが追加した顧客を持っていますが、他のユーザーが追加した顧客を見ることができません。user_id と電話が既にデータベースにある場合にのみ、クエリを挿入しないようにします。追加してみました

 phone=phone AND user_id=$userid 

クエリの最後までですが、正しく機能させることができませんでした。どんな助けでも感謝します、ありがとう。

4

1 に答える 1

0

このクエリを使用して、両方のフィールドの上に UNIQUE インデックスを追加します。

ALTER TABLE customers ADD UNIQUE `unique_customer` ( user_id , phone) 
于 2013-06-22T05:58:25.743 に答える