Puoi usare un WHERE clausola per questo. Converti i tuoi INSERT VALUES in un INSERT SELECT e aggiungi un WHERE clausola.
Ad esempio,
INSERT INTO fields (field_name, control_type_id, needs_approval)
SELECT
'Array Photos', 3, 0
WHERE Condition;
Se Condizione è vera, inserirà la riga. Se Condizione è falsa, SELECT restituirà zero righe e quindi INSERT inserirà zero righe.
Se la query precedente non viene eseguita a causa di un errore di sintassi, puoi, come menzionato da @spencer7593, aggiungere FROM DUAL .
INSERT INTO fields (field_name, control_type_id, needs_approval)
SELECT
'Array Photos', 3, 0
FROM DUAL
WHERE Condition;
Il DUAL table è essenzialmente una tabella fittizia con contenuto prevedibile e su cui si può fare affidamento per avere sempre almeno una riga .