Svůj INSERT můžete upravit tak, aby vypadal takto:
INSERT INTO tablename (tag)
SELECT $tag
FROM tablename
WHERE NOT EXISTS(
SELECT tag
FROM tablename
WHERE tag = $tag
)
LIMIT 1
Kde $tag
je značka (samozřejmě správně citovaná nebo jako zástupný symbol), kterou chcete přidat, pokud tam ještě není. Tento přístup ani nespustí INSERT (a následné plýtvání automatickým přírůstkem), pokud tam značka již je. Pravděpodobně byste mohli přijít s hezčím SQL, ale výše uvedené by mělo stačit.
Pokud je vaše tabulka správně indexována, pak extra SELECT pro kontrolu existence bude rychlý a databáze bude muset tuto kontrolu tak jako tak provést.
Tento přístup však nebude fungovat pro první značku. Do tabulky značek můžete přidat značku, o které si myslíte, že bude vždy použita, nebo můžete provést samostatnou kontrolu prázdné tabulky.