Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL einfügen, wo nicht vorhanden / falls nicht vorhanden

INSERT -Anweisungen unterstützen zwei Syntaxen:eine, die VALUES verwendet , und eine, die eine Abfrage verwendet. Sie können sie nicht kombinieren, und nur die Abfragesyntax unterstützt WHERE Klauseln. Also:

INSERT INTO `surfed_site` (user, site)
SELECT '123', '456' FROM (SELECT 1) t
WHERE NOT EXISTS (SELECT site FROM `surfed_site` WHERE site=456)
  1. Eigentlich drei Syntaxen; Sie können auch SET verwenden . Wenn Sie nur einen Datensatz einfügen, entspricht dieser funktionell VALUES , aber wohl besser lesbar.