满足条件时在同一查询中更新和插入
UPDATE and INSERT in the same query when criteria is met
我试图完成的是尝试更新 table 中的列并在满足特定条件时插入另一个 table。
到目前为止我已经试过了
UPDATE raffles r SET active = 3 INNER JOIN (INSERT INTO raffles_notifs VALUES (uid,raf_id,type) VALUES (r.uid,r.id,1) ) WHERE r.end_stamp = '123123123' AND wuid = 0;
这会抛出一个错误,这只是一次盲目的尝试。我什至可能会对此投反对票,但我真的迷路了所以不得不问
只需使用两个查询。第一个用于更新,第二个用于 INSERT SELECT:
UPDATE
raffles AS r
SET
active = 3
WHERE
r.end_stamp = '123123123'
AND wuid = 0
;
INSERT INTO raffles_notifs (uid,raf_id,type)
SELECT r.uid, r.id, 1
FROM raffles AS r
WHERE
r.end_stamp = '123123123'
AND wuid = 0
;
我试图完成的是尝试更新 table 中的列并在满足特定条件时插入另一个 table。
到目前为止我已经试过了
UPDATE raffles r SET active = 3 INNER JOIN (INSERT INTO raffles_notifs VALUES (uid,raf_id,type) VALUES (r.uid,r.id,1) ) WHERE r.end_stamp = '123123123' AND wuid = 0;
这会抛出一个错误,这只是一次盲目的尝试。我什至可能会对此投反对票,但我真的迷路了所以不得不问
只需使用两个查询。第一个用于更新,第二个用于 INSERT SELECT:
UPDATE
raffles AS r
SET
active = 3
WHERE
r.end_stamp = '123123123'
AND wuid = 0
;
INSERT INTO raffles_notifs (uid,raf_id,type)
SELECT r.uid, r.id, 1
FROM raffles AS r
WHERE
r.end_stamp = '123123123'
AND wuid = 0
;