Можете да използвате WHERE
клауза за това. Преобразувайте вашите INSERT VALUES във INSERT SELECT и добавете WHERE
клауза.
Например,
INSERT INTO fields (field_name, control_type_id, needs_approval)
SELECT
'Array Photos', 3, 0
WHERE Condition;
Ако условието е вярно, то ще вмъкне реда. Ако условието е невярно, SELECT
ще върне нула редове и по този начин INSERT ще вмъкне нула редове.
Ако заявката по-горе не се изпълнява поради синтактична грешка, можете, както спомена @spencer7593, да добавите FROM DUAL
.
INSERT INTO fields (field_name, control_type_id, needs_approval)
SELECT
'Array Photos', 3, 0
FROM DUAL
WHERE Condition;
DUAL
таблицата е по същество фиктивна таблица, която има предвидимо съдържание и може да се разчита, че винаги има поне един ред .