如何在mysql CREATE TABLE查询中设置变量值? Java的

时间:2015-06-10 05:09:29

标签: java mysql

String query = "CREATE TABLE user_post_data ("+str+" varchar(255), post_text varchar(255), post_image longblob, post_date date, like varchar(255), like_time timestamp, like_date date )";

此处,str是表示用户电子邮件的字符串。我想创建一列用户的电子邮件ID,但我收到以下错误:

  

Unclosed string literal:指向......“+ str +”......

请提供建议。

3 个答案:

答案 0 :(得分:0)

您无法使用column@等特殊字符创建.名称。

我认为电子邮件ID中包含@,因此不会创建表格。

还要确保keywords不用作列名。 like是关键字。

尝试通过将@.替换为$

等其他字符来创建表格
String str = "example$gmail_com"

String query = "create table newTable("+str+" varchar(255));";

答案 1 :(得分:0)

类似于SQL中的保留字,不能直接用作列名 为了实现像列名一样,你需要把它作为`like`

String query = "CREATE TABLE user_post_data ("+str+" varchar(255), post_text varchar(255), post_image longblob, post_date date, `like` varchar(255), like_time timestamp, like_date date )";

所以希望这会运行良好

for more details check out this link

答案 2 :(得分:0)

你需要做的是在sql语句

中包含你的变量

'&#34 + +可变"'

所以你的陈述将是:

"CREATE TABLE user_post_data ('"+str+"' varchar(255), post_text varchar(255), post_image longblob, post_date date, like varchar(255), like_time timestamp, like_date date )";