You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MYSQL_ERRNO允许的最大取值是多少?其取值上下限分别是什么?

MySQL MYSQL_ERRNO 取值范围说明

全局上下限

MySQL服务端定义的合法错误码取值范围是 1 ~ 65535,超出这个范围的错误码无法被系统正常识别传输,会被自动替换为系统预设的通用错误码。

自定义错误可用区间

不同版本的MySQL对自定义错误码的可用范围有额外约束:

  • 1 ~ 999:MySQL服务端内部预留的启动/初始化阶段错误码,禁止用户自定义使用
  • 1000 ~ 4999:MySQL服务端运行时内置错误码区间,版本迭代过程中可能会新增错误码,不建议作为自定义错误使用
  • 50000 ~ 65535:官方指定的用户自定义错误专用区间,所有版本的MySQL均支持该区间的自定义错误码抛出,不会和内置错误码冲突

注意事项

如果你在存储程序中使用SIGNAL语句抛错时指定了超出1~65535范围的错误码,MySQL会自动返回1231错误码(对应提示为变量取值非法),会干扰PHP端的业务错误判断逻辑。

自定义错误使用建议

  • 所有自定义业务错误码统一分配在50000~65535区间内即可
  • 存储函数中抛自定义错误的参考写法:
IF 业务判断条件 THEN
  SIGNAL SQLSTATE '45000'
  SET MYSQL_ERRNO = 50001,
  MESSAGE_TEXT = '参数不符合预设要求';
END IF;

内容的提问来源于stack exchange,提问作者jeHaw Services

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 19:18:00