使用where子句时更新中的语法错误

时间:2015-10-01 11:16:25

标签: mysql sql mariadb

我陷入update查询。我在注册表上工作,如果确认邮件链接被重定向到网站,则更新查询传递并更新确认值的行。

以下是错误消息:

  

#1064 - 您的SQL语法出错;检查手册   对应于您的MariaDB服务器版本,以获得正确的语法   靠近''用户' SET'确认' =' 1'哪里   ' com_code' =' 732aabcb4ad6a03b51e0a55aab998726''在第1行

请检查我的语法错误:

UPDATE 'users' 
SET 'confirm'='1' 
WHERE 'com_code'='732aabcb4ad6a03b51e0a55aab998726';

谢谢!

2 个答案:

答案 0 :(得分:4)

引用标识符使用反引号“DEMO

  

可以使用反引号字符 - 来引用标识符。引用是   对于不包含特殊字符的标识符是可选的,或者是   一个保留字。如果设置了ANSI_QUOTES SQL_MODE标志,则为double   引号(“)也可用于引用标识符。

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"relationshipToItem.propertyForItemId == %@", yourItemId];
[request setPredicate:predicate];

或者如果您的标识符不是关键字或不包含空格等,则根本不使用它们:

UPDATE `users` 
SET `confirm`='1' 
WHERE `com_code`='732aabcb4ad6a03b51e0a55aab998726';

答案 1 :(得分:0)

您不需要将userscom_codeUPDATE users SET confirm ='1' WHERE com_code='732aabcb4ad6a03b51e0a55aab998726'; 放在引号内, 用这个:

function myPromiseFunction(input) {
    return new Promise(function(resolve, reject) {
        //compute something with input and got new input so again calling
        //myPromiseFunction
        if (newInput) {
            return myPromiseFunction(new input);
        }
        else {
            resolve(output);
        }
    });
}
myPromiseFunction(input).then(function(output) {
    console.log("completed processing data with input" );
});