Cómo se hace

Migrar de mysql-async a oxmysql

mysql-async y ghmattimysql están obsoletos. Te explicamos cómo pasar tus consultas a oxmysql, el conector estándar y mantenido.

El problema

Tienes recursos que usan `MySQL.Async.*` (mysql-async) o `exports.ghmattimysql` y quieres pasarlos a oxmysql, que es lo que se mantiene hoy.

La causa

mysql-async y ghmattimysql ya no se mantienen. oxmysql es más rápido, asíncrono y soporta await. Cambia los exports y la forma de pasar parámetros.

La solución

Sustituye la sintaxis antigua por la de oxmysql (parámetros con `?` en vez de `@var`):

lua
-- Antes (mysql-async)
MySQL.Async.fetchAll('SELECT * FROM users WHERE identifier = @id', {
    ['@id'] = identifier
}, function(result) end)

-- Ahora (oxmysql), con callback
MySQL.query('SELECT * FROM users WHERE identifier = ?', { identifier }, function(result) end)

-- Ahora (oxmysql), con await dentro de un hilo
local result = MySQL.query.await('SELECT * FROM users WHERE identifier = ?', { identifier })

Paso a paso

  1. 1.Pon `ensure oxmysql` antes de tus recursos en server.cfg.
  2. 2.En el fxmanifest añade `server_script '@oxmysql/lib/MySQL.lua'`.
  3. 3.Cambia los parámetros `@nombre` por `?` en orden.
  4. 4.Sustituye `MySQL.Async.fetchAll/fetchScalar/execute` por `MySQL.query/scalar/update`, o usa `.await` en hilos.

¿Tu caso es distinto?

Pega tu error en la herramienta IA y te da la solución al instante.

Probar la herramienta

Guías relacionadas

Última actualización: 2026-06-17. Crxative-M no está afiliado a Cfx.re ni Rockstar Games.

Cómo migrar de mysql-async a oxmysql en FiveM