2

私はテーブルユーザーを持っています。特定の条件のみに基づいて、列のメールを更新したいと考えています。

update users set email='$email' where uid='$uid' 

(同じメール ID を含むレコードが他にない場合にのみ、users テーブルを更新したい)

4

2 に答える 2

2

テーブルを作成する際に、重複する値を挿入できないように、電子メール列を一意にする必要があります。これで、テーブルの電子メール列で電子メールが繰り返されないように、上記のクエリを使用できます。

于 2012-06-09T11:06:17.380 に答える
0

電子メールのフィールド/列を一意にマークしないことに制限がない場合は、おそらくそうする必要があります。次に、重複したエントリが来ると、処理できるエラーが発生します。

それ以外の場合、問題を正しく理解している場合は、UID を指定してメールを更新するためのクエリが必要であり、そのメールがまだどのレコードのテーブルにもない場合に限ります。その場合は、次のようにする必要があります。

update users
set email='$email'
where uid='$uid' and (select count(1) from users where email='$email') < 1

お役に立てれば!

于 2012-06-09T11:16:09.947 に答える