Du kan ändra din INSERT så att den blir ungefär så här:
INSERT INTO tablename (tag)
SELECT $tag
FROM tablename
WHERE NOT EXISTS(
SELECT tag
FROM tablename
WHERE tag = $tag
)
LIMIT 1
Där $tag
är taggen (korrekt citerad eller som platshållare förstås) som du vill lägga till om den inte redan finns där. Det här tillvägagångssättet kommer inte ens att utlösa en INSERT (och det efterföljande autoincrement-slöseri) om taggen redan finns där. Du skulle förmodligen kunna komma på bättre SQL än så, men ovanstående borde göra susen.
Om din tabell är korrekt indexerad kommer den extra SELECT för existenskontrollen att vara snabb och databasen kommer att behöva utföra den kontrollen ändå.
Detta tillvägagångssätt fungerar dock inte för den första taggen. Du kan se din taggtabell med en tagg som du tror alltid kommer att användas eller så kan du göra en separat kontroll för en tom tabell.