Posted on 2010-09-01 10:16
石子路口 阅读(1599)
评论(4) 编辑 收藏
困扰两天的问题终于调试出来了,查了好多遍数据库偶然发现其中一个表名(order)与关键字 order(order by : 聚合函数)重复,
而造成在保存的时候插入不成功,这里完全排除映射文件的书写错误外,就要到数据库中找找端倪;
下面把其造成的部分错误代码贴在下面:
Servlet.service() for servlet default threw exception
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order (userid, orderdate) values (4, '2010-06-10 15:16:17')' at line 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1604)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1519)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1504)
………………
这里还有一个原因,本人是在通过视图界面建的表,创建期间 数据库 并不会提示错误,但如果是写入创建命令,就会有错误提示,
所以提醒大家用代码创建数据库 更不容易 出错,尤其对于数据库关键字不太熟悉的人
如果一定要用可视化界面,那就先请把关键字好好的数一遍