感谢您对我之前发布的帖子here
的评论我尝试通过更改表名来更改我的查询:
String str = getEmail();
String query = " CREATE TABLE "+str+"(email varchar(255), post_text varchar(255), post_image longblob, post_time timestamp, post_date date, likes varchar(255), like_time timestamp, like_date date) ";
pstmt = cn.prepareStatement(query);
int i = pstmt.executeUpdate();
现在语法中出现错误:
MySQLSyntaxErrorException: near.." '**null**(email varchar(255).."
我不知道为什么 null ??那里的错误是什么?
我是Mysql的新手..请原谅帮助.. 非常感谢..thnx
答案 0 :(得分:0)
看起来getEmail();
会返回null
。所以你的表名是null,你得到这些错误信息。
在调用create语句之前检查它。
您不应在表名中使用特殊字符。如果你想这样做,你必须用反引号转义表名:
String query = " CREATE TABLE `"+str+"` (email varchar(255), post_text varchar(255), post_image longblob, post_time timestamp, post_date date, likes varchar(255), like_time timestamp, like_date date) ";
答案 1 :(得分:0)
您的str
字符串为null
。请给它一个值。
String str = getEmail();
if(str != null)
{
//do your stuff here
}