私はこのUPDATEクエリを持っています
UPDATE table SET
col2 = ( CASE WHEN ( col1 <> 0 AND col2 = 0 ) THEN val1 ELSE col2 END ),
col1 = ( CASE WHEN ( col1 = 0 ) THEN val1 ELSE col1 END )
私の問題は、1 人のユーザーがこれに 2 回アクセスできるようにスクリプトが設定されているためval1
、col1 and col2
.
val1
追加する前に、どちらかval1
に既に追加されているかどうかを確認したい、col1
またはcol2
いずれかの列に存在する場合は、列を更新しないようにします。val1 = ユーザー ID 現在、これが発生する可能性があります。ユーザー 1 と 2 の両方がこの更新スクリプトにアクセスできるため、どちらかが 2 回アクセスすると、ID が col1 と col2 の両方に配置されます。これが私の問題です。
id col1 col2
1 val1 val1
2 val2 val2
代わりにこのようなものが欲しい
id col1 col2
1 val1 val2
2 val2 val1
val1 が col1 または col2 のいずれかに存在する場合、更新は必要ありません。