sql未知列错误解决方法
昨天在eclipse中使用jdbc向mysql数据库插入数据时,报以下错误信息:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘user_uid’ in 'field list’
直觉反应是数据库字段和sql语句字段不一致。所以就核对表字段。打开Navicat连接mysql,查看表设计,如下图:
![4892a9ebcbbab235c10368263e72e012.png](https://img-blog.csdnimg.cn/img_convert/4892a9ebcbbab235c10368263e72e012.png)
编写的sql语句如下:
![da0cdf965c055066c3aef8f42bccae9d.png](https://img-blog.csdnimg.cn/img_convert/da0cdf965c055066c3aef8f42bccae9d.png)
初看字段一致,还以为记错了,难道不是字段不一致的问题?于是google了一番,确定还是字段不一致。在eclipse中debug调试了一下,还是在sql位置报错。
明明字段看着写的没错,但就是报错,很是纠结。
无意间把鼠标的光标移到了user_uid字段最前面,大吃一惊,出现了如下情况:
![9d86b229fb13b47dc3b6814cd7a19e0f.png](https://img-blog.csdnimg.cn/img_convert/9d86b229fb13b47dc3b6814cd7a19e0f.png)
正如上图所示,user_id看不到了,还以为按成删除键给删掉了呢。赶紧将光标右移一下,user_id又出来了。于是断定字段名里有换行,切换到sql预览,查看创建表sql,果然有换行,如下图:
![df0ea210be0380e6a5df30cf426bdf92.png](https://img-blog.csdnimg.cn/img_convert/df0ea210be0380e6a5df30cf426bdf92.png)
到此问题解决。
教训:核对字段是否一致时,最靠谱的方式就是直接看创建表的语句,能避免由于特殊字符引起。