0

複数の一意のキーがある場合、またはオプションを持つことは可能ですか?

たとえば、私はこのキーまたはこのキーをチェックする必要があり、重複エラーが発生した場合は、そのキーを更新しますか?

UPNと(username、school)の2つの一意のキーがあります

MYSQLでonduplicateupdateステートメントを使用します。UPNが渡された場合、重複している場合はupnキーを更新するか、新しい行を挿入します。UPNと(username、school)を確認して、次のことを行います。

if upn match update on that if upn dosnt match but(username、school)do update on(username、school)match If upn match and(username、school)dosnt update on UPN match

だから私はそれを使用するか、の代わりに必要です、これは可能ですか?

4

1 に答える 1

1

ON DUPLICATEこれは、クエリの句で条件演算子を使用してエミュレートできます。

INSERT INTO thetable (id, username, school, othervalue)
VALUES (10, 'newtover', 'cool school', 'a comment')
ON DUPLICATE KEY UPDATE
  username = IF(id = VALUES(id), VALUES(username), username),
  school = IF(id = VALUES(id), VALUES(school), school),
  id = IF(id = VALUES(id), id, VALUES(id));

この場合の更新の順序は重要です。

于 2011-12-12T14:24:14.347 に答える