Mysql
 sql >> Database >  >> RDS >> Mysql

inserisci se non esiste altrimenti seleziona in mysql

Ci proverò, ma tieni presente che proviene da un background Microsoft SQL e non ho familiarità con l'esatta struttura delle tue tabelle, quindi parte dell'SQL è probabilmente un po' complicato.

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

Spero che questo sia di qualche aiuto.