WHEREを使用できます このための条項。 INSERTVALUESをINSERTSELECTに変換し、WHEREを追加します 条項。
たとえば、
INSERT INTO fields (field_name, control_type_id, needs_approval)
SELECT
'Array Photos', 3, 0
WHERE Condition;
Conditionがtrueの場合、行が挿入されます。条件がfalseの場合、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 テーブルは基本的に