嘿,伙计们是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);
set @a := CASE WHEN NAME = 'aff' THEN 5 ELSE 3 END;
当我运行变量@a
时,它会抛出Schema Creation Failed: Unknown column 'NAME' in 'field list':
任何人都可以帮助我..一个sql小提琴的例子将是真正的apreciated ..Thanx
答案 0 :(得分:1)
要从表中获取内容,您必须使用SELECT
查询:
SET @a := (SELECT CASE WHEN name = 'aff' THEN 5 ELSE 3 END
FROM CUSTOMERS
LIMIT 1);
使用SELECT
作为表达式时,它必须只返回1行,这就是我添加LIMIT 1
子句的原因。