Cloud SQL 第二代 5.7 IF 语句的正确语法

Proper Syntax for Cloud SQL 2nd GEN 5.7 IF Statement

以下 IF 语句在 db-fiddle MySQL 5.7 中为我工作,但在 Cloud SQL 2nd GEN 5.7 中抛出错误。 Cloud SQL 的正确语法是什么?

IF 语句抛出错误:

IF col_name <> "UniqueId" AND col_name <> "ProjectId" THEN
 # DO STUFF
END IF;

上下文中的 IF 语句:

the_loop: LOOP

    FETCH NEXT FROM col_names    
    INTO col_name; 

    IF done THEN
      CLOSE col_names;
      LEAVE the_loop;
    END IF;

IF col_name <> "UniqueId" AND col_name <> "ProjectId" THEN

 # DO STUFF

END IF;
END LOOP the_loop;

云 SQL 错误消息:

"您的 SQL 语法有误;请查看与您的 MySQL 服务器版本对应的手册,了解在 ';> [= 附近使用的正确语法38=] AND col_name <> "ProjectId" THEN SET concatFields ' at line 32 (line 35, file "dbConn")"

Fiddle 工作示例:

https://www.db-fiddle.com/f/7N3ehFpJcLp5suTb964fnQ/39

检查 google cloud sql 逻辑运算符,我找不到 <> 因为逻辑不等于。

您可以尝试使用

IF col_name != "UniqueId" AND col_name != "ProjectId" THEN

或根据文档(但这个在 mysql 中不起作用)

IF !(col_name == "UniqueId") AND !(col_name == "ProjectId") THEN