This seems to be working as designed. The "no such column" error refers to the "c0" in the trigger. In this context "old.c0" would work, but there is no column that can be referred to as just "c0".

The error occurs when the DELETE is prepared, not when the trigger is created, as SQLite does not resolve column or table references when triggers and views are created, only when they are used. This can be surprising.