采集报错的解决方法

报错类型之Field 'vod_plot_name' doesn't have a default value

目前在操作正常的情况下,最常见的报错为SQLSTATE[HY000]: General error: 1364 Field 'vod_plot_name' doesn't have a default valuevod_plot_name为数据字段,可能会是其它,解决方法都一样。

错误解决

采集代码在EFV高级版转码源码的controller/cms.js8604-8784行之间,后续行数可能会有稍微变动。

如上述报错,缺失的字段为vod_plot_name,我们搜索vod_play_server,定位到填充字段块,修改如下:

#只列举部分代码,仅供参考,且修改前请备份好源文件
"vod_content": obj.summary || '',
"vod_play_server":"no",
"vod_plot_name": "",
"vod_play_url": cmsapi.cmsApiplayurl == 'on' ? (play_url + '$$$' + play_url_1) : play_url,

在我们搜索的vod_play_server代码下方新增一个缺失字段就行就行,如"vod_plot_name": "",注意后面不要缺少英文逗号,其它字段报错的新增方法也一样。

最后使用命令pm2 reload efvcms重启程序生效。

报错类型之Data too long for column ‘vod_blurb’ at row 1

这种大概就是有标签数据超过了Mysql数据库字段长度,如果你是宝塔安装的MYSQL,可直接找到安装的Mysql,点击右侧的设置,选择配置修改

sql-mode一行改成sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION;,然后重启Mysql后再次尝试。