MySQL:无法从存储过程创建临时

时间:2013-11-01 10:45:06

标签: php mysql sql stored-procedures temp-tables

这是MySQL SP语句(假设数据库名为'mydatabase'):

BEGIN
DECLARE remainder TEXT;
DECLARE currentSelection TEXT;
DECLARE tempT TEXT;

DROP TEMPORARY TABLE IF EXISTS splitStore;

CREATE TEMPORARY TABLE splitStore ( val varchar(255) NOT NULL )
ENGINE=MEMORY;

SET remainder = input;
WHILE CHAR_LENGTH(remainder) > 0 DO
SELECT SUBSTRING_INDEX(remainder, delim, 1) INTO currentSelection;
SELECT SUBSTRING(remainder FROM char_length(currentSelection) + 1 +
length(delim)) INTO tempT;
INSERT INTO splitStore(val) VALUES (currentSelection);
SET remainder = tempT;
END WHILE;
END

返回错误:表'mydatabase.splitstore'不存在。

这是在root用户下完成的,我确保root用户拥有localhost上的所有priv。 root用户(我正在测试)也具有来自连接到此计算机的主机的完全权限(包括create tablespace priv)。 Mysql端口已正确配置和访问。

最重要的是,这在Windows机器上的MySQL 5.0.51a上完美无缺。我们现在使用MySQL 5.5.34进行ubumtu 12.04 LTS。

可能是区分大小写,如果是,我在哪里更改?

0 个答案:

没有答案