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 +”......
请提供建议。
答案 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 )";
所以希望这会运行良好
答案 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 )";