実行したいクエリが2つあります。
delete from song where ast_id = 1;
delete from artist where ast_id = 1;
2 との関係があります。1 には他を参照する FK があります。
クエリは一緒に実行されると考えていましたが、適切な順序で実行すると、アーティストから曲を削除してからアーティスト自体を削除すると考えていました。そうではありませんでした。
2トランザクションに分割するだけで解決しましたが、1トランザクションに留める方法はありますか?
私は次の行に沿って何かをしていました:
string query("delete from song where ast_id = 1; delete from artist where ast_id = 1;");
sqlite3_exec(db, query.c_str(),...);
上記のような1回の取引でできますか?