Giao diện
Cấu hình node - SQL
Node chạy SQL query trực tiếp trên data source, hỗ trợ SELECT, INSERT, UPDATE, DELETE, JOIN, subquery.
Bảng tham số cấu hình
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|---|---|---|---|---|
dataSource | string | Không | main | Tên data source (main, external, ...) |
sql | string | Có | — | Câu lệnh SQL (hỗ trợ template biến và placeholders ?) |
params | array | Không | [] | Parameterized values (chống SQL injection), theo thứ tự ? |
Dữ liệu đầu ra (Output)
| Tên | Kiểu | Mô tả |
|---|---|---|
rows | array | Mảng object kết quả (SELECT) |
affectedRows | number | Số dòng bị ảnh hưởng (INSERT/UPDATE/DELETE) |
fields | array | Metadata các cột kết quả |
Parameterized query
Luôn dùng parameterized query khi giá trị đến từ biến workflow:
An toàn (parameterized):
sql
SELECT * FROM orders WHERE customer_id = ? AND status = ?params:[customerId, "pending"]
Không an toàn (template trực tiếp):
sql
SELECT * FROM orders WHERE customer_id = [customerId]Lưu ý quan trọng
- LUÔN dùng parameterized query khi giá trị đến từ user input - tránh SQL injection
- Query DDL (CREATE TABLE, ALTER) không được khuyến khích trong workflow
- Kết quả SELECT trả về tối đa theo cấu hình server (thường 1000 rows)
- Mỗi SQL node chạy trong transaction riêng, không share transaction với node khác
- SQL dialect phụ thuộc vào database engine (PostgreSQL, MySQL, SQLite)
- Dùng
dataSourceđể query trên database ngoài đã kết nối (không chỉ main DB)