2014-10-27 104 views
0

嘿,伙计们是新来的MySQL development..I HVE写了一些代码,就像从对象访问枚举

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); 



set @a := CASE WHEN NAME = 'aff' THEN 5 ELSE 3 END; 

当我运行varibale @a它抛出错误,如Schema Creation Failed: Unknown column 'NAME' in 'field list':

谁能帮助我..一个SQL小提琴例子是真的apreciated ..Thanx

+0

你的标题中的“objects”是什么意思?而且我也没有看到你使用枚举的地方。 – Sebas 2014-10-27 16:33:41

回答

1

从表中得到的东西,你必须使用一个SELECT查询:

SET @a := (SELECT CASE WHEN name = 'aff' THEN 5 ELSE 3 END 
      FROM CUSTOMERS 
      LIMIT 1); 

DEMO

当使用SELECT作为一个表达式,它必须只返回1行,这就是为什么我添加了LIMIT 1条款。

+1

@JNevill你的小提琴是空的。我创建了自己的一个。 – Barmar 2014-10-27 16:41:40