sql >> Databáze >  >> RDS >> Mysql

vložit, pokud neexistuje, jinak stačí vybrat v mysql

Zkusím to, ale mějte na paměti, že pocházím z prostředí Microsoft SQL a neznám přesnou strukturu vašich tabulek, takže některé z SQL jsou pravděpodobně trochu propletené.

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

Doufám, že vám to trochu pomůže.




  1. Co hledat, pokud vaše replikace PostgreSQL zaostává

  2. Vybrat dotaz mysql mezi datem?

  3. Jak vyrobit fantomové čtení?

  4. Existuje ekvivalent SQLite k DESCRIBE [tabulce] MySQL?