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)
- Eigentlich drei Syntaxen; Sie können auch
SET
verwenden . Wenn Sie nur einen Datensatz einfügen, entspricht dieser funktionellVALUES
, aber wohl besser lesbar.