Podrías modificar tu INSERT para que sea algo como esto:
INSERT INTO tablename (tag)
SELECT $tag
FROM tablename
WHERE NOT EXISTS(
SELECT tag
FROM tablename
WHERE tag = $tag
)
LIMIT 1
Donde $tag
es la etiqueta (debidamente citada o como marcador de posición, por supuesto) que desea agregar si aún no está allí. Este enfoque ni siquiera activará una INSERCIÓN (y el posterior desperdicio de incremento automático) si la etiqueta ya está allí. Probablemente podría encontrar un SQL mejor que ese, pero lo anterior debería funcionar.
Si su tabla está correctamente indexada, el SELECT adicional para la verificación de existencia será rápido y la base de datos tendrá que realizar esa verificación de todos modos.
Sin embargo, este enfoque no funcionará para la primera etiqueta. Puede sembrar su tabla de etiquetas con una etiqueta que cree que siempre terminará siendo utilizada o puede hacer una verificación por separado para una tabla vacía.