sql语句在navicat中可以执行,java中却报错

在java中下面一段sql语句报错,但是复制到navicat中可以正常执行,编码也是一样的都是utf8。
请问导致这个问题的原因可能是什么,要怎么才能解决呢?

DROP TABLE IF EXISTS of_cms_access;
CREATE TABLE of_cms_access (
access_id int(11) NOT NULL AUTO_INCREMENT COMMENT '访问编号',
site_id int(4) NOT NULL COMMENT '站点编号',
access_ip varchar(20) NOT NULL COMMENT '访问IP',
access_entry_page varchar(400) DEFAULT NULL COMMENT '访问进入页面',
access_last_page varchar(400) DEFAULT NULL COMMENT '访问最后页面',
access_date date DEFAULT NULL COMMENT '访问日期',
access_time time NOT NULL COMMENT '访问时间',
access_source varchar(200) DEFAULT NULL COMMENT '访问来源',
access_keyword varchar(2000) DEFAULT NULL COMMENT '访问关键字',
PRIMARY KEY (access_id)
) ENGINE=InnoDB AUTO_INCREMENT=538 DEFAULT CHARSET=utf8 COMMENT='访问记录表';

下面是报错信息:
java.sql.BatchUpdateException: 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 'DROP TABLE IF EXISTS of_cms_access;
CREATE TABLE of_cms_access (
`access_i' at line 21

http://t.csdn.cn/qA8iU 可以参考一下这篇博客

Java后端代码有问题啊