我正在尝试在mysql中执行查询。因此,当我运行时,我接收到:
Error Code: 1304. PROCEDURE ander already exists我试图用@定义变量"a“,但结果是相同的-错误代码: 1304。实际上,当我执行SELECT语句时是正确的。那么,我的错误在哪里呢?
DELIMITER //
CREATE PROCEDURE ander()
BEGIN
DECLARE a int ;
SET a=1;
WHILE a < 20
DO
SELECT
(SUM(price) + SUM(delivery_price)) as total_sum,
COUNT(`id`) AS total_cnt,
market_id,
`date`,
COUNT(`user_id`) AS total_users
FROM orders
WHERE
(`date`>='2014-08-01 00:00:00' - INTERVAL a DAY) AND ( `date`<='2014-08-01 23:59:59' - INTERVAL a DAY)
GROUP BY market_id;
SET a=a+1;
END WHILE;
END//
DELIMITER ; 谢谢!
发布于 2014-08-13 22:46:54
在开头添加以下内容:
DROP PROCEDURE ander;所以你应该有:
DROP PROCEDURE ander;
CREATE PROCEDURE ander()
BEGIN
DECLARE a int ;
SET a=1;
WHILE a < 20
DO
SELECT
(SUM(price) + SUM(delivery_price)) as total_sum,
COUNT(`id`) AS total_cnt,
market_id,
`date`,
COUNT(`user_id`) AS total_users
FROM orders
WHERE
(`date`>='2014-08-01 00:00:00' - INTERVAL a DAY) AND ( `date`<='2014-08-01 23:59:59' - INTERVAL a DAY)
GROUP BY market_id;
SET a=a+1;
END WHILE;
END//
DELIMITER ; 发布于 2014-08-13 22:47:04
每个mysql过程都存储在数据库中(基本上它是一个数据库对象)
首先需要使用语法drop
DROP PROCEDURE ander文档:
https://stackoverflow.com/questions/25289241
复制相似问题