Mysql 案例陈述不起作用

Mysql 案例陈述不起作用,mysql,Mysql,嘿,伙计们,实际上我是mysql的新手..我写了一段类似这样的代码 CREATE TABLE CUSTOMERS( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25) , SALARY DECIMAL (18, 2), PRIMARY KEY (ID) ); INSERT

嘿,伙计们,实际上我是mysql的新手..我写了一段类似这样的代码

 CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25) ,
   SALARY   DECIMAL (18, 2), 
   PRIMARY KEY (ID)
);


INSERT INTO  CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)  
VALUES (1,'aff',2,3,5);
我的案件陈述看起来像

 select CASE WHEN ID > 0 THEN SET NAME  = 'SDFSDF'; ELSE SET NAME = 'ASD'
END CASE;
from CUSTOMERS
当我在SQLFiddle上运行它时,它会给我如下错误

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在“SET NAME='SDFSDF'附近使用的正确语法;ELSE在第1行设置名称='ASD'结束案例':在ID>0时选择案例,然后设置名称='SDFSDF';ELSE集合名称='ASD'结束案例


有人能帮我吗?…任何帮助都将不胜感激。

正确的说法是

select 
case 
 when id > 0 then 'sdfsdf' 
 else 'asd' end as name 
from customers ;

你为什么不按照错误信息的建议去做呢。 您应该注意到有
在您的语句中,它不属于那里

正确的陈述应为:

select CASE WHEN ID > 0 
           THEN 'SDFSDF'
           ELSE 'ASD'
       END CASE as Name
from CUSTOMERS;

请注意,没有任何
之后,然后
结束
。而且,
集合也不属于那里。

您的实现是错误的。查询的结构应该如下所示

SELECT CASE WHEN ID > 0 
                THEN 'SDFSDF' 
                ELSE 'ASD'
           END AS NAME
    FROM CUSTOMERS

您正在尝试更新表中的值吗

在这种情况下,请使用以下命令:

UPDATE customers SET name = CASE WHEN ID > 0 THEN 'SDFSDF' ELSE 'ASD' END
用这个

select CASE WHEN ID > 0 THEN SET NAME  = 'SDFSDF' ELSE SET NAME = 'ASD'
END CASE as customer_name from CUSTOMERS
伙计, 你的问题不好。你没有做任何努力。只要看看

你应该从结尾删除大小写单词

Select CASE WHEN ID > 0 THEN SET NAME  = 'SDFSDF'; ELSE SET NAME = 'ASD'
END /* CASE */;
/*from CUSTOMERS*/
答复:

select *, (Select CASE WHEN ID > 0 THEN SET NAME  = 'SDFSDF'
          ELSE SET NAME = 'ASD' END)
from CUSTOMERS

这仍然是无效的。
SET
关键字不属于
CASE
语句中。