2016-07-05 50 views
0

好mysql的语法错误,所以这是我当前的代码与存储过程(工作台)

delimiter // 

Create procedure addFish(in_color varchar(45), in_pattern varchar(45)) 
BEGIN 
INSERT INTO ZenFish 
(`ZenColorsID`,`Pattern`, `Hatched` ) 
VALUES 
(
(select idZenColors from ZenColors where ColorName = in_color), 
in_pattern, 
CURRENT_TIMESTAMP() 
); 
END 

delimiter ; 

它做,当我在MySQL工作台按运行NOTHING。在添加分隔符之前,它至少给我一个语法错误。添加分隔符线似乎是在stackoverflow上的其他人被告知要解决这个问题,所以我做了它,现在......当我按下运行,或者选择它并按下运行,或者运行这个语句时,没有任何反应。 De nada。

+0

如果MySQL控制台上运行它,会发生什么?手动连接到服务器,并从命令行运行'mysql',然后尝试执行该命令。 – FrankerZ

回答

2

你有你的结束标记的小问题

delimiter $$ 

Create procedure addFish(in_color varchar(45), in_pattern varchar(45)) 
BEGIN 
INSERT INTO ZenFish 
(`ZenColorsID`,`Pattern`, `Hatched` ) 
VALUES 
(
(select idZenColors from ZenColors where ColorName = in_color), 
in_pattern, 
CURRENT_TIMESTAMP() 
); 
END$$ 

delimiter ; 

试试这个

+0

试试这个,让我知道 –

+0

哈利路亚!它需要是“分隔符$$”而不是“分隔符$$”,但它现在正在工作,谢谢。 –

+0

抱歉,其错字更新了答案 –