行がいくつかの条件に一致する場合にテーブルから行を削除するクエリを作成しました。
sqlite3_prepare(sqlite->db, "DELETE FROM test WHERE field1=? AND field2=? AND field3=? AND field4=? AND field5=?", -1, &sqlite->deleteSymbol, 0);
次に、それらを NULL で終了する文字列にバインドします。ただし、関数の呼び出し元によって渡された文字列のいずれかが NULL である場合、これは、指定された列の値が一致する必要があることを意味します。
つまりfield1
、field3
とfield5
が NULL の場合、クエリは次のようになります。
DELETE FROM test WHERE field2=? AND field4=?
NULL/非NULL文字列の組み合わせごとに個別のクエリを作成せずに、sqlite3_prepareの出力を再利用しながらこれを達成できますか?