An n8n community node that integrates SQLite3 database operations into n8n workflows. Supports SELECT, INSERT, UPDATE, DELETE, and CREATE operations with automatic query type detection, parameterized queries using @param or $param syntax, and an optional spread-results mode that outputs each row as a separate item. Compatible with any n8n version supporting custom nodes. Current version 0.4.1. Key differentiators: auto-detect mode, spread results for SELECT, and a "use default bindings" option to work around musl libc issues in Alpine containers.
npm install n8n-nodes-sqlite3No compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Shows how to import and use the SqliteNode in an n8n custom node directory, then configure the node in a workflow with a parameterized SELECT query.
Always use @param for new queries. Update old queries from $param to @param.
Enable 'use default bindings' in node settings. Alternatively, install gcc, g++, make, and python3 in your Dockerfile before npm install.
Only enable Spread Results for SELECT queries. For other operations, leave it disabled.
Specify full absolute path to the SQLite database file, e.g., '/data/my_database.sqlite'.
Manually select the query type (e.g., SELECT, INSERT) instead of AUTO when the query is complex.
Run 'npm install better-sqlite3' in your n8n custom nodes directory. For Alpine, install build tools first: 'apk add --no-cache gcc g++ make python3'
Enable 'use default bindings' in the node settings, or rebuild better-sqlite3 from source on Alpine.
Check your SQL query for syntax errors. Ensure that SELECT queries return rows. Use the n8n UI to test the query.
Replace ? with @param (e.g., @value) in your query, and provide arguments as a JSON object, not an array.