boxmoe_header_banner_img

Hello! 欢迎来到小仙技术!

加载中

文章导读

战神引擎:商城购买报错,系统错误修复教程


avatar
小仙 2025年7月24日 107

下面是报错内容 因为小仙测试版本经常发现这方面错误 干脆发个教程


[Exception]: doError: SQL Error: Unknown column ‘jl’ in ‘NEW’
[Exception]: Update gamedata.yb_user_data set PTID = ‘ptc86e7bc016108917fc’, ChrName = ‘小仙源码网’, YBNum = 9999998, LastModifyYBNumTime = Now() where (UserID = 180001000000012);
[SQL Failed] Update gamedata.yb_user_data set PTID = ‘ptc86e7bc016108917fc’, ChrName = ‘小仙源码网’, YBNum = 9999998, LastModifyYBNumTime = Now() where (UserID = 180001000000012);

下面是修复教程
解决办法
你可以采用以下两种方式对触发器进行修改:
方法一:删除有问题的触发器


DROP TRIGGER IF EXISTS gamedata.hmd;

方法二:修改触发器逻辑
把引用jl列的部分替换成表中实际存在的列,或者直接移除这一条件判断。下面给出一个示例:


DELIMITER $$

CREATE TRIGGER gamedata.hmd
BEFORE UPDATE ON yb_user_data
FOR EACH ROW
BEGIN
— 假设这里原本想判断的是PTID列的值
IF NEW.PTID = ‘special_value’ THEN
SET NEW.YBNum = 0;
END IF;
END$$

DELIMITER ;

具体操作步骤
删除触发器(如果该触发器不再需要)


DROP TRIGGER IF EXISTS gamedata.hmd;

修改触发器(要是触发器还有用)


DELIMITER $$

CREATE TRIGGER gamedata.hmd
BEFORE UPDATE ON yb_user_data
FOR EACH ROW
BEGIN
— 保留触发器功能,但使用实际存在的列
IF NEW.YBNum > 1000000 THEN — 这里用YBNum列作为示例
SET NEW.YBNum = 0;
END IF;
END$$

DELIMITER ;

验证修改结果
在修改完触发器之后,再次执行之前失败的 SQL 语句:


UPDATE gamedata.yb_user_data
SET PTID = ‘ptc86e7bc016108917fc’,
ChrName = ‘小仙源码网’,
YBNum = 9999998,
LastModifyYBNumTime = NOW()
WHERE UserID = 180001000000012;

总结
问题的根源在于触发器hmd引用了不存在的jl列。你可以选择删除这个触发器,或者对其逻辑进行修改,让它引用表中实际存在的列,这样就能解决错误。



评论(0)

查看评论列表

暂无评论


发表评论

客服图标
小仙元码AI客服
×

你好!我是小仙技术支持助手,有什么可以帮助你的?如果你是在找小仙元码,最新网址是wd.xxymw.com