INSERT
изразите поддържат два синтаксиса:единият, който използва VALUES
и такъв, който използва заявка.
Не можете да ги комбинирате и само синтаксисът на заявката поддържа WHERE
клаузи. И така:
INSERT INTO `surfed_site` (user, site)
SELECT '123', '456' FROM (SELECT 1) t
WHERE NOT EXISTS (SELECT site FROM `surfed_site` WHERE site=456)
- Всъщност три синтаксис; можете също да използвате
SET
. Ако вмъквате само един запис, този е функционално еквивалентен наVALUES
, но може би по-четливо.