Lua创建数据库表抛出错误es_extended FiveM

问题描述

正在开发一个 FiveM 项目。此 lua 文件(包含指向 github 上完整文件链接)将显示错误

原始文件/存储库链接 = https://github.com/esx-framework/es_extended/blob/master/modules/__core__/db/server/events.lua

SCRIPT ERROR: .../events.lua:58 attempt to index a nil value (global 'self')

我们相信它来自第 28 到 54 行下方的代码,因为我们将表格放在了该代码下方。

local ADD_COLUMN_IN_NOT_EXISTS_PROCEDURE = [[
-- copyright (c) 2009 www.cryer.co.uk
-- Script is free to use provided this copyright header is included.
DROP PROCEDURE IF EXISTS ADD_COLUMN_IF_NOT_EXISTS;
CREATE PROCEDURE ADD_COLUMN_IF_NOT_EXISTS(
  IN dbname    tinytext,IN tableName tinytext,IN fieldName tinytext,IN fieldDef  text
)
BEGIN
  IF NOT EXISTS (
    SELECT * FROM information_schema.COLUMNS
    WHERE `column_name`  = fieldName
    AND   `table_name`   = tableName
    AND   `table_schema` = dbname
  )
  THEN
    SET @ddl=CONCAT('ALTER TABLE ',dbname,'.',tableName,' ADD COLUMN ',fieldName,' ',fieldDef);
    PREPARE stmt from @ddl;
    EXECUTE stmt;
  END IF;
END;
]]

我们在启动时在数据库中得到了什么。

表名 = ADD_COLUMN_IF_NOT_EXISTS

表中的数据 =

  IF NOT EXISTS (
    SELECT * FROM information_schema.COLUMNS
    WHERE column_name  = fieldName
    AND   table_name   = tableName
    AND   table_schema = dbname
  )
  THEN
    SET @ddl=CONCAT('ALTER TABLE ',fieldDef);
    PREPARE stmt from @ddl;
    EXECUTE stmt;
  END IF;
END

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)