gpt4 book ai didi

mysql - MySQL 语法中的 Node JS 解析错误

转载 作者:太空宇宙 更新时间:2023-11-03 11:49:34 25 4
gpt4 key购买 nike

在下面的代码中,我试图根据三个参数(搜索类型、搜索词、在一个查询中连接不同搜索类型的运算符)查询数据库。如您所见,我给它提供了两种搜索类型及其术语,这样查询就像作者是 WayneRooney 且标签是 UCL 的搜索一样。之后,它可能有两种以上的搜索类型,例如基于作者 x、作者 y、提及 z 和标签 a 的搜索。

    var search = ['Author','Tag'];
var term = ['WayneRooney','UCL'];
var operator = 'AND';

var queryString = "select Tweet.ID, Tweet.Label, Tweet.TDate, Tweet.RetweetID, User.Name, User.ScreenName from Tweet, User where";

for(var i in search){
if(search.indexOf(search[i]) != 0){
queryString += operator;
}

if(search[i] == 'Author')
{
queryString += "Tweet.UserID IN (select ID from User where ScreenName = '"+ term[i] +"') AND User.ID IN (select ID from User where ScreenName = '"+ term[i] +"')";
}
else if(search[i] == 'Mention')
{
queryString += "select Tweet.ID, Tweet.Label, Tweet.TDate, User.ScreenName, User.Name, Tweet.RetweetID from Tweet, User where Tweet.ID IN (select TweetID from TweetMention where UserID IN (select ID from User where ScreenName = '"+ term[i] +"')) AND User.ID = Tweet.UserID";
}
else if(search[i] == 'Tag')
{
queryString += "select Tweet.ID, Tweet.Label, Tweet.TDate, User.Name, User.ScreenName, Tweet.RetweetID from Tweet, User where Tweet.ID IN (select TweetID from TweetHashs where HashID IN (select ID from Hashtag where Label = '"+ term[i] +"')) AND User.ID = Tweet.UserID";
}
};

var query = connection.query(queryString, function(err, rows) {
if (err) {
throw (err);
}
console.log(rows);
//res.write(JSON.stringify(rows));
var tweet = JSON.parse(JSON.stringify(rows));
var queries_made = 0;
var queries_success = 0;

我得到的错误是:

Error: ER_PARSE_ERROR: 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 '.UserID IN (select ID from User where ScreenName = 'WayneRooney') AND User.ID IN'at line 1

我试图找出问题所在,但我做不到。

最佳答案

附加到您的 queryString 时您缺少前置空格,否则您会得到连续的关键字,例如:whereTweet.UserID IN ...ANDTweet .UserID IN ....

关于mysql - MySQL 语法中的 Node JS 解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36309542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com