这个SQL语句有什么问题?

时间:2017-02-06 08:16:01

标签: mysql

PreparedStatement pstmt2 = conn.prepareStatement("CREATE TABLE " + getThread() +" (`Id` INT(4) NOT NULL AUTO_INCREMENT,`name` VARCHAR(65) NOT NULL,`comment` LONGTEXT NOT NULL,`date` VARCHAR(65) NOT NULL,PRIMARY KEY (`Id`)) COLLATE=`utf8_general_ci` ENGINE=InnoDB;");

我正在尝试执行一个创建语句,但我一直在

  

你有一个   SQL语法错误;查看与您的手册相对应的手册   MySQL服务器版本,用于在'news(Id附近使用正确的语法   INT(4)NOT NULL AUTO_INCREMENT,name VARCHAR(65)NOT NULL,comment'

我不知道我做错了什么!  为什么我会收到此错误?

1 个答案:

答案 0 :(得分:1)

此查询的语法正确:

CREATE TABLE politics_news(ID INT(4) NOT NULL AUTO_INCREMENT, name VARCHAR(65) NOT NULL, comment LONGTEXT NOT NULL, date VARCHAR(65) NOT NULL,PRIMARY KEY (Id)) COLLATE='utf8_general_ci' ENGINE=InnoDB

在此网站上进行了检查:https://de.piliapp.com/mysql-syntax-check/

我不确定您的getThread()是否返回字符串或其他内容。如果是字符串,请使用:getThread().replace(" ","_")否则将其解析为字符串