##程序员##IT教育##IT##db#
SQL语句专门用于处理数据库数据表数据,结构化数据的分析处理离不开SQL语句,但是复杂SQL语句的编写经常会遇到一些奇怪的问题,比如用MySQL Workbench编写SQL语句里遇到:Operand should contain 1 column(s)。
INSERT INTO `energysafe`.`peopledaydata` (`ddid`,`dname`,`pid`,`pname`,`dataname`,`safetype`,`factory`,`totalseconds`,`totalresult`,`limitv`,`saferesult`,`saferange`,`average`,`alarmtimes`,`alarmfirsttime`,`alarmlasttime`,`maxv`,`maxvtime`,`minv`,`minvtime`)select (`ddid`,`dname`,`pid`,`pname`,`dataname`,`safetype`,`factory`,`totalseconds`,`totalresult`,`limitv`,`saferesult`,`saferange`,`average`,`alarmtimes`,`alarmfirsttime`,`alarmlasttime`,`maxv`,`maxvtime`,`minv`,`minvtime`) from `energysafe`.`peoplecurrdata`;
这样编写会出到:Operand should contain 1 column(s),遇到是说操作需要一个列,但是这里INSERT INTO和select都有列啊,怎么还 错呢?
INSERT INTO `energysafe`.`peopledaydata` (`ddid`,`dname`,`pid`,`pname`,`dataname`,`safetype`,`factory`,`totalseconds`,`totalresult`,`limitv`,`saferesult`,`saferange`,`average`,`alarmtimes`,`alarmfirsttime`,`alarmlasttime`,`maxv`,`maxvtime`,`minv`,`minvtime`)select `ddid`,`dname`,`pid`,`pname`,`dataname`,`safetype`,`factory`,`totalseconds`,`totalresult`,`limitv`,`saferesult`,`saferange`,`average`,`alarmtimes`,`alarmfirsttime`,`alarmlasttime`,`maxv`,`maxvtime`,`minv`,`minvtime` from `energysafe`.`peoplecurrdata`;
select后面包含括 去掉就不 ::Operand should contain 1 column(s)。想想,应该是select的字段列表不能带括 ,带了括 会解释成其它的内容,就会 错了。
初学者因为写sql语句写得少,遇到sql语句错误会很头疼,请关注锐英源,收藏本站,会有大量这样的错误解决方案。标题错误也有可能在其它形式里出现,欢迎交流。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!