Mysql 将大小写与变量一起使用时出错

Mysql 将大小写与变量一起使用时出错,mysql,Mysql,嘿,伙计们,当我在mysql中使用带有大小写的变量时,我面临一个问题 我使用的代码是 DECLARE vSite VARCHAR(20); SET vSite = case when id > 0 then 'sdfsdf' else 'asd' end as name from customers; 当我运行这段代码时,它会抛出如下错误 You have an error in your SQL syntax; check the manual that correspond

嘿,伙计们,当我在mysql中使用带有大小写的变量时,我面临一个问题

我使用的代码是

DECLARE vSite VARCHAR(20);
SET vSite = case 
 when id > 0 then 'sdfsdf' 
 else 'asd' end as name 
from customers;
当我运行这段代码时,它会抛出如下错误

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE vSite VARCHAR(20)' at line 1: DECLARE vSite VARCHAR(20)

有人能告诉我哪里出了问题吗谢谢你宝贵的帮助你需要在BEGIN-END块中声明变量

下面是一个简单的存储过程示例

DELIMITER //
CREATE procedure blah(IN customer_id INT,OUT vSite VARCHAR(20))
BEGIN 
SELECT CASE WHEN id > 0 THEN 'blah'
ELSE 'mah' END INTO vSite FROM customers WHERE id=customer_id;
END//
DELIMITER ;

CALL blah(3,@somevar);
SELECT @somevar;

你可以发布一个sql Fiddle链接到文档和一个小例子吗,不?@lovemysql首先你想做什么?@Mihai我只想用一个varibale@Mihai这只能在存储过程中完成吗???。我可以在没有存储过程的情况下将case语句结果添加到变量中吗?不要使用标记发送垃圾邮件。你的问题与PHPI无关意味着你想解决什么,告诉我关于问题而不是你的解决方案。@Mihai这只能在存储过程中完成吗???。我可以在没有存储过程的情况下将case语句结果添加到变量中吗?是的,你只能在存储过程中完成,函数或触发器,或在表中创建列并插入其中。