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

Xibo从2.3.16升级至3.0.0/3.3.3时出现数据库pid字段错误求助

Xibo 升级后 pid 字段无默认值错误的解决方法

问题原因

Xibo 3.x 版本的数据库结构与 2.3.x 存在差异,升级过程中可能因迁移脚本执行不完整、字段默认值未正确设置,触发 MySQL 严格模式下的非空字段校验错误。

解决步骤

  • 定位问题表
    先找出包含pid字段的表,执行以下SQL查询:

    SELECT table_name FROM information_schema.columns WHERE column_name = 'pid';
    

    也可以查看CMS完整日志,找到报错对应的SQL语句,直接定位目标表。

  • 添加字段默认值
    针对查询到的表,为pid字段设置默认值(根据Xibo业务逻辑,通常设为0即可):

    ALTER TABLE 替换为实际表名 MODIFY COLUMN pid INT(11) NOT NULL DEFAULT 0;
    
  • 确保迁移脚本完整执行
    如果是Docker部署,进入CMS容器重新执行迁移:

    docker exec -it xibo-cms-web-1 bash
    php artisan migrate
    

    非Docker部署,直接在CMS根目录下运行:

    php artisan migrate
    
  • 调整MySQL SQL模式(可选)
    若上述操作无效,可临时关闭MySQL的严格校验模式:
    编辑MySQL配置文件(my.cnf/my.ini),修改sql_mode配置,移除STRICT_TRANS_TABLES,重启MySQL服务;或临时会话中执行:

    SET sql_mode = 'ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
    

    注意:优先修复字段默认值,修改SQL模式为备选方案。

内容的提问来源于stack exchange,提问作者Wh1te Wolf

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 22:05:01