INSERT
satser stöder två syntaxer:en som använder VALUES
, och en som använder en fråga.
Du kan inte kombinera dem, och endast frågesyntaxen stöder WHERE
klausuler. Så:
INSERT INTO `surfed_site` (user, site)
SELECT '123', '456' FROM (SELECT 1) t
WHERE NOT EXISTS (SELECT site FROM `surfed_site` WHERE site=456)
- Faktiskt tre syntaxer; du kan också använda
SET
. Om du bara infogar en post är denna funktionellt likvärdig medVALUES
, men utan tvekan mer läsbar.