ERROR 1064 (HY000): partition table, insert must provide ColumnList
1、问题描述
mycat+mysql分库分表导sql的时候出现下列错误
在全局表中需要导入tb_operatelog表的数据,再进行水平分割,经过分片算法存到192.168.159.22和192.168.159.37两台服务器上的时候报错。
ERROR 1064 (HY000): partition table, insert must provide ColumnList
2、解决方案
可以看到,报错中提示我们要提供插入的列,但是我就是全列插入啊,见鬼了。
然后把所有要插入的列都添加上,测试成功。
INSERT INTO `tb_operatelog`(id,model_name,model_value,return_value,return_class,operate_user,operate_time,param_and_value,operate_class,operate_method,cost_time)
VALUES (1450360515065892864, NULL, NULL, 'OK', 'java.lang.String', NULL, NULL, NULL, 'cn.itcast.goods.SPUController', 'findById', NULL);
ps:以后写sql语句的时候尽量都带上column list,这样在分表的时候,mycat就根据指定的规则进行partition table操作。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?