Updateステートメントの実行中に変数を設定するにはどうすればよいですか?更新クエリでの一時変数の使用方法は?
私は構文を理解できないようです。私は計算結果を保持するためにこの@tp
変数を使用しており、when
の状態で使用されます。
私はこのような何かしたい:
UPDATE users IU
INNER JOIN activity_stats DAS
ON (IU.user_id=DAS.for_user_id), set
@tp:= IU.total_subscription_time - (unix_timestamp()- IU.start_date),
IU.time_period_left = CASE WHEN @tp > 0 THEN @tp ELSE 0 END,
IU.used_time = (unix_timestamp() - IU.start_date),
IU.status = CASE WHEN @tp > 0 THEN 'A' ELSE 'I' END,
DAS.total_time_used = DAS.total_time_used + IU.used_time
WHERE IU.time_period_left > 0
AND IU.status='A'
質問を編集し、(1)サンプルデータを提供してください。 (2)所望の結果; (3)論理の明確な説明。 –
あなたの課題の前に 'set'を外してみましたか? – cars10m