Saya akan mencobanya, tetapi ingat bahwa itu berasal dari latar belakang Microsoft SQL, dan saya tidak terbiasa dengan struktur yang tepat dari tabel Anda, jadi beberapa SQL mungkin sedikit rumit.
IF (SELECT COUNT(*) FROM beta WHERE name = 'John' > 0)
UPDATE alfa SET c1=(SELECT id FROM beta WHERE name = 'John')
ELSE
BEGIN
INSERT INTO beta (name) VALUES ('John')
INSERT INTO alfa (c1) VALUES (LAST_INSERT_ID())
END
Semoga ini bisa membantu.