Ir al contenido

MySQL Query

El modulo MySQL Query permite ejecutar consultas SQL directamente en una base de datos MySQL. Soporta variables dinámicas en la consulta, incluyendo sintaxis avanzada como {{@NombreNodo.campo}}, {{#N.campo}} y {{var.nombre}} para referenciar datos de otros nodos del workflow. Es ideal para leer, insertar, actualizar o eliminar registros en MySQL como parte de un flujo de trabajo automatizado.

ParámetroTipoRequeridoDescripción
credentials_idcredentialsSiCredenciales de conexión a MySQL
querycodeSiConsulta SQL a ejecutar (soporta variables {{variable}})

La credencial debe contener los campos:

  • host: Dirección del servidor MySQL
  • user: Usuario de la base de datos
  • password: Contrasena del usuario
  • database: Nombre de la base de datos
  • port: Puerto de conexión (por defecto: 3306)
{
"nextModule": "siguiente_modulo",
"data": [
{ "id": 1, "nombre": "Ejemplo", "email": "test@test.com" },
{ "id": 2, "nombre": "Ejemplo 2", "email": "test2@test.com" }
]
}
{
"credentials_id": "cred_mysql_01",
"query": "SELECT * FROM usuarios WHERE estado = 'activo' LIMIT 100"
}
{
"credentials_id": "cred_mysql_01",
"query": "SELECT * FROM pedidos WHERE cliente_id = '{{clienteId}}'"
}

Cuando una variable {{campo}} contiene un valor de texto con comillas simples (p. ej. Monte Sant'Angelo), el motor escapa automáticamente el caracter ' duplicandolo ('') antes de insertarlo en la consulta. Esto es el estándar ANSI SQL y previene errores de sintaxis y posibles inyecciones SQL.

-- Dato de entrada: nombreTienda = "Monte Sant'Angelo"
-- Plantilla en el nodo:
INSERT INTO tiendas (nombre) VALUES ('{{nombreTienda}}')
-- SQL ejecutado (escape automatico):
INSERT INTO tiendas (nombre) VALUES ('Monte Sant''Angelo')

No es necesario escapar manualmente las comillas ni usar funciones como REPLACE(). El motor lo hace por ti para todos los valores de texto sustituidos.

Nota: Los valores numericos (enteros, decimales) no se escapan — se insertan directamente sin comillas en la query. Usa {{precio}} sin rodear con comillas para columnas numericas, y '{{texto}}' con comillas para columnas de texto.

  • Soporta variables dinámicas {{variable}} en la consulta SQL
  • Soporta sintaxis avanzada: {{@NombreNodo.campo}} para referenciar datos de otros nodos, {{#N.campo}} para referenciar por índice, {{var.nombre}} para variables de memoria
  • Los valores de texto con comillas simples se escapan automáticamente (' → '') — no requiere tratamiento manual
  • Utiliza la libreria mysql2/promise para conexiones
  • Si el plugin de autenticación del servidor no es compatible (como auth_gssapi_client), se muestra un mensaje de error descriptivo
  • La conexión se cierra automáticamente después de cada ejecución
  • En caso de error SQL, se incluye la consulta ejecutada en el mensaje de error para facilitar la depuración
  • Se recomienda no usar esta consulta para operaciones destructivas sin validación previa
  • sqlQueryMSSQL (consultas en SQL Server)
  • sqlQueryPostgres (consultas en PostgreSQL)
  • sqlQueryPostgresSSL (consultas en PostgreSQL con SSL)
  • sqlQueryOracle (consultas en Oracle)