1231: Variable can't be set to the value of ...(变量不能设置为 ... 的值)
MySQL含义
(用 SET)赋给系统/会话变量的值无效。该值超出允许的集合、类型错误或格式不合适,因此被拒绝。
原因
常见示例:向 sql_mode 赋予无效/拼写错误的模式名、给枚举变量指定未定义的选项,或向不接受 NULL 的变量赋 NULL。单位/范围错误的数值也可能触发。
解决方法
确认变量接受的有效值和类型;对于 ENUM/SET 类型的变量(例如 sql_mode 是 SET 类型),准确拼写值/模式名,多个值之间用逗号分隔。在文档中查看有效值范围。对于 sql_mode 这样的列表,先读取当前值(SELECT @@sql_mode),在此基础上安全地添加/删除项。