Puedes usar un WHERE
cláusula para esto. Convierta su INSERTAR VALORES en INSERTAR SELECCIÓN y agregue un WHERE
cláusula.
Por ejemplo,
INSERT INTO fields (field_name, control_type_id, needs_approval)
SELECT
'Array Photos', 3, 0
WHERE Condition;
Si la Condición es verdadera, insertará la fila. Si la Condición es falsa, SELECT
devolverá cero filas y, por lo tanto, INSERT insertará cero filas.
Si la consulta anterior no se ejecuta debido a un error de sintaxis, puede, como mencionó @spencer7593, agregar FROM DUAL
.
INSERT INTO fields (field_name, control_type_id, needs_approval)
SELECT
'Array Photos', 3, 0
FROM DUAL
WHERE Condition;
El DUAL
table es esencialmente una tabla ficticia que tiene un contenido predecible y se puede confiar en que siempre tendrá al menos una fila .