2013-02-11 62 views
0

我正在使用Tomcat6和MySQL在RedHat中工作,并且我将帮助您解决一个问题,我有一个连接到我的数据库的servlet,我发送一个SQL“字符串”我的servlet和servlet的执行这段代码,我打印我的SQL字符串,像这样Tomcat6在'字段列表'中的MySQL未知列“

"INSERT INTO xsn_core_helix_streams_stats (timestamp,type,client,publish_time,connects,id_stream,server) VALUES('2013/02/11 16:23:27',null,null,null,'1','4',6);" 

但我已经收到异常

"java.sql.SQLException: Unknown column 'server' in 'field list'" 

,当我描述我表,我可以看到列,当我复制并粘贴在控制台,我可以看到“查询OK,1行受影响(0.03秒)” 为什么?

+1

尝试使用''server''(back-quotes around“server”) – paulsm4 2013-02-11 23:42:31

+0

另一个想法是:尝试删除SQL字符串末尾的分号。 – 2013-02-11 23:44:46

+0

我试过,但它不起作用 – CharlyPL 2013-02-12 00:49:17

回答

0

我的工作台标记“服务器”一词,所以也许是保留字。尝试更改表格中列的名称并重试,然后再试

1

尽管来自@ paulsm4和@ilopezluna的回复,SERVER不是MySQL中的保留字。参看http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

因此,我会再次检查您的表xsn_core_helix_streams_stats实际上是否有名为server的列。

例如,尝试打开MySQL客户端,准备好数据库,然后运行SHOW CREATE TABLE LIKE xsn_core_helix_streams_stats

我可以通过创建表而不是列名为server并在您的示例中尝试INSERT语句来重现您报告的错误。

+0

当我运行CREATE TABLE xsn_core_helix_streams_stats2像xsn_core_helix_streams_stats;输出为查询OK,0行受影响(0.09秒),并向新表中添加了一个desc,它显示了所有字段,包括“server”:( – CharlyPL 2013-02-12 00:44:21

0

我解决了这个问题,tomcat6支持我的servlet配置文件(Servlet/META-INF/context.xml)并把它放在/etc/tomcat6/catalina/localhost中,那么问题是这个文件是不正确的,问候和感谢!

相关问题