Du kan använda en WHERE
klausul för detta. Konvertera dina INSERT VALUES till ett INSERT SELECT och lägg till en WHERE
klausul.
Till exempel,
INSERT INTO fields (field_name, control_type_id, needs_approval)
SELECT
'Array Photos', 3, 0
WHERE Condition;
Om villkoret är sant kommer den att infoga raden. Om villkoret är falskt visas SELECT
kommer att returnera noll rader och därmed infogar INSERT noll rader.
Om frågan ovan inte körs på grund av ett syntaxfel kan du, som @spencer7593 nämnde, lägga till FROM DUAL
.
INSERT INTO fields (field_name, control_type_id, needs_approval)
SELECT
'Array Photos', 3, 0
FROM DUAL
WHERE Condition;
DUAL
Tabellen är i huvudsak en dummytabell som har förutsägbart innehåll och som man kan lita på att alltid har minst en rad .