レコードが存在する場合はそれを更新する MySQL クエリを作成しようとしています。それ以外の場合は、2 つの異なるテーブルに新しいレコードを作成します。オンラインでいくつかの情報を見つけましたが、それを釘付けにすることはできません。
これは私の現在のクエリです
Set @time_now := NOW();
if exists(SELECT 1 FROM phone_calls WHERE account_id = 8 AND call_code_id = 5 AND status = 1)
BEGIN
UPDATE phone_calls
SET trigger_on=@time_now,
isAppointment=1,
modified_by = 2,
modified_on = @time_now
WHERE account_id =8 AND call_code_id = 5 AND status = 1;
END
ELSE
BEGIN
INSERT INTO phone_calls (mid_id, account_id, call_code_id, trigger_on, created_on, call_subject, status, next_call_id
, call_direction, owner_id, workflow_generated, call_notes, total_attempts, isAppointment)
VALUES (1, 8, 5, @time_now, @time_now, 'This is a test', 1, 0 , "OUTBOUND", 2, 1, "", 0, 0);
INSERT INTO inventory_engine_history(phone_call_id, new_phone_call_id, created_by, new_call_owner, action, trigger_on)
VALUES(1000, LAST_INSERT_ID(), 2, 2, '', @time_now)';
END
構文エラーが発生しています
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'if exists(SELECT 1 FROM phone_calls WHERE account_id = 8 AND call_code_id = 5 AN' at line 1
誰かがこのエラーで私を助けてくれますか?
注: 複数のレコードが存在する場合はすべてを更新する必要がありますが、レコードが存在しない場合は、各テーブルに 1 つのレコードのみを挿入します。
ありがとう