Sql 使用大小写更新列值返回错误

Sql 使用大小写更新列值返回错误,sql,Sql,我正在尝试使用CASE更新列值。结束表达式但当我尝试在phpmyadmin中执行该语句时,从CASE word开始的语句用红色波浪线下划线,当我将光标放在错误符号上时,它会显示Unrecogned keyword(接近CASE)每个SQL关键字旁边都有相同的错误,每个条目也有另一个错误,例如,它会显示意外标记(接近“mark”)。我检查了很多次代码,但我发现了任何错误。有没有重新分级这些错误的想法 UPDATE `customers` SET `name` = CASE

我正在尝试使用CASE更新列值。结束表达式但当我尝试在phpmyadmin中执行该语句时,从CASE word开始的语句用红色波浪线下划线,当我将光标放在错误符号上时,它会显示Unrecogned keyword(接近CASE)每个SQL关键字旁边都有相同的错误,每个条目也有另一个错误,例如,它会显示意外标记(接近“mark”)。我检查了很多次代码,但我发现了任何错误。有没有重新分级这些错误的想法

    UPDATE `customers`
SET `name` =
    CASE 
      WHEN `id` = 2 THEN 'mark' 
      WHEN `id` = 4 THEN 'johnny' 
      WHEN `id` = 5 THEN 'bett' 
      WHEN `id` = 6 THEN 'Sarah' 
    END 
WHERE `id` IN (2,4,5,6)

您使用的是什么数据库?请适当地标记问题。(注意:您的语法看起来不错。)一种可能是一个隐藏字符,看起来像空格,但不是。请尝试
大小写id,当2时,然后“标记”,当4时,然后是“johnny”
等…..检查表的列名..检查表是否有“id”,“name”属性..客户和所有id引用的单引号看起来不正确。您可以看到mark、johny、bett和Sarah的引号之间的差异。看起来您是从使用哪个DBMS的地方复制粘贴的?@ehh:字符串值的单引号是正确的。这就是SQL中指定字符常量的方式。什么数据您使用的是base?请适当地标记问题。(注意:您的语法看起来很好。)一种可能是一个隐藏字符,看起来像空格,但不是。尝试
大小写id,当2时,然后“标记”当4时,然后是“johnny”
等…..检查表的列名..检查表是否有“id”,“name”属性..客户和所有id引用的单引号看起来不正确。您可以看到mark、johny、bett和Sarah的引号之间的差异。看起来您是从使用哪个DBMS的某个位置复制粘贴的?@ehh:字符串值的单引号是正确的。这就是SQL中指定字符常量的方式。